.page-container{padding:0}.page-header{gap:16px;margin-bottom:16px}.page-title{color:#333}.header-actions{display:flex;gap:.5rem;flex-shrink:0}.page-toolbar{margin-bottom:16px}.search-box input{width:100%}.table-wrapper{overflow:hidden}.table-wrapper table{min-width:900px}.table-wrapper thead{background:#f8f9fa}.table-wrapper th{padding:12px 16px;text-align:left;font-weight:600;color:#333;font-size:14px;border-bottom:2px solid #e0e0e0}.table-wrapper td{padding:12px 16px;border-bottom:1px solid #f0f0f0;color:#666;font-size:14px}.table-wrapper tbody tr:hover{background:#f8f9fa}.empty-state{text-align:center;padding:40px;color:#999}.action-buttons{display:flex;gap:8px}.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-success{background:#d4edda;color:#155724}.badge-danger{background:#f8d7da;color:#721c24}.badge-warning{background:#fff3cd;color:#856404}.badge-info{background:#d1ecf1;color:#0c5460}.badge-secondary{background:#e2e3e5;color:#383d41}.badge-primary{background:#e7e3ff;color:#5a3d91}.badge-purple{background:#f3e5f5;color:#6a1b9a}.badge-orange{background:#ffe0b2;color:#e65100}.badge-dark{background:#343a40;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:16px}.page-info{color:#666;font-size:14px}.error-state,.loading-state{text-align:center;padding:24px}.spinner{border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{color:#c33;margin-bottom:16px}.form-control{width:100%;padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:12px}.search-box{max-width:100%}}.page-container{padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-title{font-size:24px;font-weight:600;margin:0}.header-left{display:flex;flex-direction:column;gap:8px}.limit-info{display:flex;align-items:center;gap:6px;font-size:13px;color:#666;padding:6px 12px;background:#f0f7ff;border:1px solid #d0e7ff;border-radius:6px}.limit-info.limit-reached{background:#fff3cd;border-color:#ffc107;color:#856404}.limit-info i{font-size:16px;color:#667eea}.limit-info.limit-reached i{color:#ffc107}.limit-text{font-weight:500}.remaining{color:#28a745;font-weight:600}.remaining.limit-reached{color:#dc3545}.page-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;align-items:flex-end}.filter-group{flex:0 0 auto;width:160px;display:block;margin-bottom:0}.filter-label{display:block;font-size:12px;color:#6c757d;margin-bottom:4px;white-space:nowrap}.filter-group--action{min-width:auto}.page-toolbar .form-control{padding:6px 12px;height:auto;line-height:1.4}.search-box{position:relative;flex:1;max-width:400px}.search-box input{padding-right:40px}.search-box i{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#999;pointer-events:none}.table-wrapper{background:#fff;border-radius:8px;overflow-x:auto;overflow-y:visible;box-shadow:0 2px 4px rgba(0,0,0,.05);-webkit-overflow-scrolling:touch}.table-wrapper table{width:100%;min-width:600px;border-collapse:collapse}@media (max-width:768px){.page-container{padding:12px}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.page-title{font-size:20px}.page-toolbar{flex-direction:column;gap:8px;align-items:stretch}.filter-group{min-width:100%;width:100%}.search-box{max-width:100%;width:100%}}.table-wrapper table[data-v-733f3dd8]{min-width:1000px}.header-actions[data-v-733f3dd8]{display:flex;gap:8px;align-items:center}.btn-outline[data-v-733f3dd8]{background:transparent;border:1px solid #667eea;color:#667eea;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.btn-outline[data-v-733f3dd8]:hover{background:#667eea;color:#fff}.sort-mode-hint[data-v-733f3dd8]{display:flex;align-items:center;gap:6px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;padding:10px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.drag-col[data-v-733f3dd8]{width:40px;text-align:center}.drag-handle[data-v-733f3dd8]{font-size:18px;color:#9ca3af;cursor:grab;padding:4px;border-radius:4px;transition:color .2s}.drag-handle[data-v-733f3dd8]:hover{color:#667eea}.drag-handle[data-v-733f3dd8]:active{cursor:grabbing}.draggable-row[data-v-733f3dd8]{transition:background .15s;cursor:grab}.draggable-row[data-v-733f3dd8]:hover{background:#f8f9ff}.draggable-row.dragging[data-v-733f3dd8]{opacity:.4;background:#e0e7ff}.draggable-row.drag-over[data-v-733f3dd8]{background:#eff6ff;border-top:2px solid #667eea}.module-name-cell[data-v-733f3dd8]{display:inline-flex;align-items:center;gap:8px}.module-icon[data-v-733f3dd8]{font-size:16px;color:#667eea;flex-shrink:0}