.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-family:var(--font-body);font-size:.875rem;font-weight:600;line-height:1.2;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;white-space:nowrap;position:relative;overflow:hidden;letter-spacing:.01em}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled,.btn.loading{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{padding:.375rem .875rem;font-size:.8125rem;font-weight:500;border-radius:var(--radius-sm)}.btn-lg{padding:.875rem 1.75rem;font-size:1rem;border-radius:var(--radius-md)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:var(--color-text-inverse);border:none;box-shadow:0 1px 3px #6366f14d,0 1px 2px #6366f133}.btn-primary:hover{background:linear-gradient(135deg,#818cf8,#6366f1);box-shadow:0 4px 12px #6366f159,0 2px 4px #6366f133;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0) scale(.98);box-shadow:0 1px 2px #6366f14d}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border);box-shadow:0 1px 2px #0000000a}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-border-input);box-shadow:0 2px 4px #0000000f;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0) scale(.98)}.btn-danger{background:linear-gradient(135deg,#dc2626,#b91c1c);color:var(--color-text-inverse);border:none;box-shadow:0 1px 3px #dc26264d,0 1px 2px #dc262633}.btn-danger:hover{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #dc262659,0 2px 4px #dc262633;transform:translateY(-1px)}.btn-danger:active{transform:translateY(0) scale(.98)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:none;padding:.5rem .625rem}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-primary)}.btn-ghost:active{background:var(--color-bg-selected)}.btn-accent{background:linear-gradient(135deg,#ff6b35,#e55a28);color:var(--color-text-inverse);border:none;box-shadow:0 1px 3px #ff6b354d,0 1px 2px #ff6b3533}.btn-accent:hover{background:linear-gradient(135deg,#ff7d4d,#ff6b35);box-shadow:0 4px 12px #ff6b3559,0 2px 4px #ff6b3533;transform:translateY(-1px)}.btn-accent:active{transform:translateY(0) scale(.98)}.btn-success{background:linear-gradient(135deg,#16a34a,#15803d);color:var(--color-text-inverse);border:none;box-shadow:0 1px 3px #16a34a4d}.btn-success:hover{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #16a34a59;transform:translateY(-1px)}.btn .spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-theme=dark] .btn-primary{background:linear-gradient(135deg,#2b7de9,#1a73e8);box-shadow:0 1px 3px #818cf866}[data-theme=dark] .btn-primary:hover{box-shadow:0 4px 16px #818cf873}[data-theme=dark] .btn-secondary{background:var(--color-bg-hover);border-color:var(--color-border)}[data-theme=dark] .btn-secondary:hover{background:var(--color-bg-selected);border-color:var(--color-border-input)}[data-theme=dark] .btn-danger{box-shadow:0 1px 3px #ef444466}[data-theme=dark] .btn-accent{box-shadow:0 1px 3px #ff6b3566}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast),background var(--transition-normal)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.card-title{font-family:var(--font-mono);font-size:.875rem;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;line-height:1;border-radius:var(--radius-full);white-space:nowrap}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning)}.badge-under_review{background:var(--color-info-bg);color:var(--color-info)}.badge-approved{background:var(--color-success-bg);color:var(--color-success)}.badge-rejected{background:var(--color-danger-bg);color:var(--color-danger)}.badge-suspended{background:var(--color-bg-hover);color:var(--color-text-muted)}.badge-admin{background:var(--color-danger-bg);color:var(--color-danger)}.badge-manager{background:var(--color-warning-bg);color:var(--color-warning)}.badge-sales{background:var(--color-info-bg);color:var(--color-info)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-info{background:var(--color-info-bg);color:var(--color-info)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{padding:.75rem 1rem;text-align:left;font-family:var(--font-mono);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);background:var(--color-bg);border-bottom:1px solid var(--color-border);white-space:nowrap;position:sticky;top:0;z-index:1}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--color-text)}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.alert{padding:.875rem 1rem;border-radius:var(--radius-md);font-size:.875rem;display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem}.alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.alert-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger)}.alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.alert-info{background:var(--color-info-bg);color:var(--color-info);border:1px solid var(--color-info)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast{pointer-events:auto;min-width:300px;max-width:420px;padding:.875rem 1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:.875rem;display:flex;align-items:center;gap:.75rem;animation:slideIn .3s ease;position:relative;overflow:hidden;background:var(--color-bg-card);border:1px solid var(--color-border);color:var(--color-text)}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:var(--color-primary);animation:toastProgress 4s linear forwards}.toast-success .toast-progress{background:var(--color-success)}.toast-error .toast-progress{background:var(--color-danger)}.toast-warning .toast-progress{background:var(--color-warning)}.toast-close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1.25rem;line-height:1;padding:0 .25rem}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--transition-normal)}.modal-backdrop.active{opacity:1;visibility:visible}.modal{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:500px;max-height:90vh;overflow-y:auto;transform:scale(.95);transition:transform var(--transition-normal)}.modal-backdrop.active .modal{transform:scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-title{font-size:1.125rem;font-weight:600}.modal-close{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:1.5rem;line-height:1;padding:.25rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border)}.pagination{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:1rem 0}.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;font-size:.875rem;border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast)}.pagination a:hover{background:var(--color-bg-hover);color:var(--color-text);border-color:var(--color-border)}.pagination .active span{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.pagination .disabled span{opacity:.4;cursor:not-allowed}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;right:0;min-width:200px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast);padding:.25rem}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(4px)}.dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);border:none;background:none;width:100%;text-align:left}.dropdown-item:hover{background:var(--color-bg-hover)}.dropdown-divider{height:1px;background:var(--color-border);margin:.25rem 0}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--color-text-muted)}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.empty-state p{font-size:.875rem}.client-name{font-weight:500;font-size:.875rem;color:var(--color-text);line-height:1.3}.client-ref{font-family:var(--font-mono);font-size:.6875rem;color:var(--color-text-muted);letter-spacing:.03em;margin-top:2px}.client-email{font-size:.8125rem;color:var(--color-text-secondary)}.client-company{font-weight:500;font-size:.875rem}.client-referrer{font-size:.8125rem;font-weight:500;color:var(--color-text)}.client-date{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);letter-spacing:.02em}.service-tags{display:flex;flex-wrap:wrap;gap:.25rem}.service-tag{display:inline-block;padding:.2rem .5rem;font-family:var(--font-mono);font-size:.6875rem;font-weight:600;letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--color-info-bg);color:var(--stat-teal);border:1px solid rgba(6,182,212,.15)}.status-label{font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.04em}.status-pending{color:var(--color-warning)}.status-under_review{color:var(--color-primary)}.status-approved{color:var(--stat-green)}.status-rejected{color:var(--color-danger)}.status-suspended{color:var(--color-text-muted)}.view-link{font-family:var(--font-mono);font-size:.75rem;font-weight:600;color:var(--color-primary);text-decoration:none;text-transform:uppercase;letter-spacing:.06em;padding:.375rem .625rem;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.view-link:hover{background:var(--color-primary-light);color:var(--color-primary-hover)}.notes-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;color:var(--color-warning);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.notes-icon:hover{background:var(--color-warning-bg)}.notes-icon:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);right:0;min-width:200px;max-width:300px;padding:.625rem .75rem;background:var(--color-bg-sidebar);color:#e2e8f0;font-family:var(--font-mono);font-size:.75rem;line-height:1.5;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);white-space:normal;word-wrap:break-word;opacity:0;visibility:hidden;transform:translateY(4px);transition:all .15s ease;z-index:200;pointer-events:none}.notes-icon:before{content:"";position:absolute;bottom:calc(100% + 2px);right:12px;border:6px solid transparent;border-top-color:var(--color-bg-sidebar);opacity:0;visibility:hidden;transition:all .15s ease;z-index:201}.notes-icon:hover:after,.notes-icon:hover:before{opacity:1;visibility:visible;transform:translateY(0)}
