.btn{border-radius:var(--theme-radius-md);cursor:pointer;transition:all var(--theme-transition-fast);font-weight:600;font-size:var(--theme-font-size-base);font-family:var(--theme-font-family);border:none;justify-content:center;align-items:center;line-height:1.5;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:calc(var(--theme-spacing-unit)*1.5)calc(var(--theme-spacing-unit)*3);font-size:var(--theme-font-size-sm)}.btn-md{padding:calc(var(--theme-spacing-unit)*2)calc(var(--theme-spacing-unit)*4)}.btn-lg{padding:calc(var(--theme-spacing-unit)*3)calc(var(--theme-spacing-unit)*6);font-size:var(--theme-font-size-lg)}.btn-full{width:100%}.btn-primary{background:var(--theme-primary-500);color:#fff}.btn-primary:hover:not(:disabled){background:var(--theme-primary-600);box-shadow:var(--theme-shadow-md)}.btn-primary:active:not(:disabled){background:var(--theme-primary-700)}.btn-secondary{background:var(--theme-bg-secondary);color:var(--theme-text-primary);border:1px solid var(--theme-border-primary)}.btn-secondary:hover:not(:disabled){background:var(--theme-bg-tertiary);border-color:var(--theme-primary-500)}.btn-secondary:active:not(:disabled){background:var(--theme-bg-primary)}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover:not(:disabled){box-shadow:var(--theme-shadow-md);background:#dc2626}.btn-danger:active:not(:disabled){background:#b91c1c}.btn-ghost{color:var(--theme-text-primary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--theme-bg-secondary)}.btn-ghost:active:not(:disabled){background:var(--theme-bg-tertiary)}.card{background:var(--theme-bg-primary);border:1px solid var(--theme-border-primary);border-radius:var(--theme-radius-lg);padding:calc(var(--theme-spacing-unit)*4);box-shadow:var(--theme-shadow-sm);transition:all var(--theme-transition-base)}.card:hover{box-shadow:var(--theme-shadow-md)}.card-title{font-size:var(--theme-font-size-xl);color:var(--theme-text-primary);margin-bottom:calc(var(--theme-spacing-unit)*3);font-weight:700}.input{width:100%;padding:calc(var(--theme-spacing-unit)*2)calc(var(--theme-spacing-unit)*3);font-size:var(--theme-font-size-base);font-family:var(--theme-font-family);color:var(--theme-text-primary);background:var(--theme-bg-primary);border:1px solid var(--theme-border-primary);border-radius:var(--theme-radius-md);transition:all var(--theme-transition-fast);outline:none}.input:focus{border-color:var(--theme-primary-500);box-shadow:0 0 0 3px var(--theme-primary-100)}.input:disabled{opacity:.5;cursor:not-allowed;background:var(--theme-bg-secondary)}.input::placeholder{color:var(--theme-text-tertiary)}.badge{padding:calc(var(--theme-spacing-unit)*.5)calc(var(--theme-spacing-unit)*2);font-size:var(--theme-font-size-sm);border-radius:var(--theme-radius-full);align-items:center;font-weight:600;line-height:1.25;display:inline-flex}.badge-primary{background:var(--theme-primary-100);color:var(--theme-primary-700)}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-danger{color:#991b1b;background:#fee2e2}.badge-info{color:#1e40af;background:#dbeafe}.table-container{border-radius:var(--theme-radius-lg);border:1px solid var(--theme-border-primary);width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--theme-font-size-base)}.table thead{background:var(--theme-bg-secondary)}.table th{padding:calc(var(--theme-spacing-unit)*3)calc(var(--theme-spacing-unit)*4);text-align:left;color:var(--theme-text-primary);border-bottom:2px solid var(--theme-border-primary);font-weight:700}.table td{padding:calc(var(--theme-spacing-unit)*3)calc(var(--theme-spacing-unit)*4);color:var(--theme-text-secondary);border-bottom:1px solid var(--theme-border-secondary)}.table tbody tr:hover,.table-zebra tbody tr:nth-child(2n){background:var(--theme-bg-secondary)}.table-zebra tbody tr:nth-child(2n):hover{background:var(--theme-bg-tertiary)}.avatar{border-radius:var(--theme-radius-full);background:var(--theme-primary-100);color:var(--theme-primary-700);justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar-sm{width:32px;height:32px;font-size:var(--theme-font-size-sm)}.avatar-md{width:40px;height:40px;font-size:var(--theme-font-size-base)}.avatar-lg{width:56px;height:56px;font-size:var(--theme-font-size-lg)}.avatar img{object-fit:cover;width:100%;height:100%}.pagination{align-items:center;gap:calc(var(--theme-spacing-unit)*1);display:flex}.pagination-btn{min-width:36px;height:36px;padding:calc(var(--theme-spacing-unit)*1.5)calc(var(--theme-spacing-unit)*2);font-size:var(--theme-font-size-sm);color:var(--theme-text-primary);background:var(--theme-bg-primary);border:1px solid var(--theme-border-primary);border-radius:var(--theme-radius-md);cursor:pointer;transition:all var(--theme-transition-fast);justify-content:center;align-items:center;font-weight:500;display:inline-flex}.pagination-btn:hover:not(:disabled){background:var(--theme-bg-secondary);border-color:var(--theme-primary-500)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-btn.active{background:var(--theme-primary-500);color:#fff;border-color:var(--theme-primary-500)}.dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog{background:var(--theme-bg-primary);border-radius:var(--theme-radius-lg);box-shadow:var(--theme-shadow-lg);width:90%;max-width:500px;max-height:90vh;animation:.3s slideUp;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dialog-header{padding:calc(var(--theme-spacing-unit)*4);border-bottom:1px solid var(--theme-border-primary)}.dialog-title{font-size:var(--theme-font-size-xl);color:var(--theme-text-primary);font-weight:700}.dialog-body{padding:calc(var(--theme-spacing-unit)*4)}.dialog-footer{padding:calc(var(--theme-spacing-unit)*4);border-top:1px solid var(--theme-border-primary);justify-content:flex-end;gap:calc(var(--theme-spacing-unit)*2);display:flex}.tabs{border-bottom:2px solid var(--theme-border-primary);gap:calc(var(--theme-spacing-unit)*1);display:flex}.tab{padding:calc(var(--theme-spacing-unit)*2)calc(var(--theme-spacing-unit)*4);font-size:var(--theme-font-size-base);color:var(--theme-text-secondary);cursor:pointer;transition:all var(--theme-transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;font-weight:500}.tab:hover{color:var(--theme-text-primary)}.tab.active{color:var(--theme-primary-500);border-bottom-color:var(--theme-primary-500)}.tab-content{padding:calc(var(--theme-spacing-unit)*4)0}.select{width:100%;padding:calc(var(--theme-spacing-unit)*2)calc(var(--theme-spacing-unit)*3);font-size:var(--theme-font-size-base);font-family:var(--theme-font-family);color:var(--theme-text-primary);background:var(--theme-bg-primary);border:1px solid var(--theme-border-primary);border-radius:var(--theme-radius-md);transition:all var(--theme-transition-fast);cursor:pointer;outline:none}.select:focus{border-color:var(--theme-primary-500);box-shadow:0 0 0 3px var(--theme-primary-100)}.select:disabled{opacity:.5;cursor:not-allowed;background:var(--theme-bg-secondary)}