@charset "UTF-8";:root{--cap-navbar-height: 58px;--cap-green-50: #eef7f0;--cap-green-100: #d4edda;--cap-green-200: #a8d5b8;--cap-green-500: #198754;--cap-green-600: #157347;--cap-green-700: #0d5c38;--cap-green-800: #0a4a2e;--cap-gray-50: #f8f9fa;--cap-gray-100: #f1f3f5;--cap-gray-200: #e9ecef;--cap-gray-300: #dee2e6;--cap-gray-400: #ced4da;--cap-gray-500: #adb5bd;--cap-gray-600: #6c757d;--cap-gray-700: #495057;--cap-gray-800: #343a40;--cap-red-50: #fef2f2;--cap-red-100: #fee2e2;--cap-red-500: #dc3545;--cap-red-600: #b02a37;--cap-amber-50: #fffbeb;--cap-amber-100: #fef3c7;--cap-amber-500: #f59e0b;--cap-amber-600: #d97706;--cap-blue-50: #eff6ff;--cap-blue-100: #dbeafe;--cap-blue-500: #3b82f6;--cap-blue-600: #2563eb;--cap-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--cap-shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--cap-shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .06);--cap-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--cap-radius: .5rem;--cap-radius-lg: .75rem}body{background-color:var(--cap-gray-50);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;display:flex;flex-direction:column}app-root{display:flex;flex-direction:column;flex:1;min-height:100vh}app-root>*:not(app-navbar):not(app-loading):not(ngx-sonner-toaster):not(app-footer):not(router-outlet){flex:1}.cap-page{padding:2rem 0}.cap-page-header{margin-bottom:1.75rem}.cap-page-title{font-size:1.625rem;font-weight:700;color:var(--cap-gray-800);margin-bottom:.25rem}.cap-page-subtitle{font-size:.9rem;color:var(--cap-gray-600);margin-bottom:0}.cap-card{background:#fff;border:1px solid var(--cap-gray-200);border-radius:var(--cap-radius-lg);box-shadow:var(--cap-shadow-sm);transition:box-shadow .2s ease}.cap-card:hover{box-shadow:var(--cap-shadow)}.cap-card-body{padding:1.5rem}.cap-btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:.875rem;padding:.5rem 1rem;border-radius:var(--cap-radius);border:1px solid transparent;cursor:pointer;transition:all .15s ease;line-height:1.5}.cap-btn lucide-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.cap-btn lucide-icon svg{width:18px;height:18px;vertical-align:middle}.cap-btn-primary{background-color:var(--cap-green-500);color:#fff;border-color:var(--cap-green-500)}.cap-btn-primary:hover{background-color:var(--cap-green-600);border-color:var(--cap-green-600);color:#fff}.cap-btn-secondary{background-color:#fff;color:var(--cap-green-600);border-color:var(--cap-green-500)}.cap-btn-secondary:hover{background-color:var(--cap-green-50)}.cap-btn-ghost{background-color:transparent;color:var(--cap-gray-600);border-color:transparent}.cap-btn-ghost:hover{background-color:var(--cap-gray-100);color:var(--cap-gray-800)}.cap-btn-danger{background-color:var(--cap-red-500);color:#fff;border-color:var(--cap-red-500)}.cap-btn-danger:hover{background-color:var(--cap-red-600);border-color:var(--cap-red-600)}.cap-btn:disabled{opacity:.5;cursor:not-allowed}.cap-btn-sm{padding:.375rem .75rem;font-size:.8125rem}.cap-btn-icon{padding:.425rem;border-radius:var(--cap-radius)}.cap-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}.cap-badge-success{background-color:var(--cap-green-100);color:var(--cap-green-700)}.cap-badge-error{background-color:var(--cap-red-100);color:var(--cap-red-600)}.cap-badge-warning{background-color:var(--cap-amber-100);color:var(--cap-amber-600)}.cap-badge-info{background-color:var(--cap-blue-100);color:var(--cap-blue-600)}.cap-badge-neutral{background-color:var(--cap-gray-200);color:var(--cap-gray-700)}.cap-badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor}.cap-table{width:100%;border-collapse:separate;border-spacing:0}.cap-table thead th{background-color:var(--cap-gray-50);color:var(--cap-gray-700);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em;padding:.75rem 1rem;border-bottom:2px solid var(--cap-gray-200);text-align:left;white-space:nowrap}.cap-table tbody td{padding:.75rem 1rem;font-size:.875rem;color:var(--cap-gray-700);border-bottom:1px solid var(--cap-gray-100);vertical-align:middle}.cap-table tbody tr{transition:background-color .15s ease}.cap-table tbody tr:hover{background-color:var(--cap-green-50)}.cap-table tbody tr:last-child td{border-bottom:none}.cap-input{display:block;width:100%;padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--cap-gray-300);border-radius:var(--cap-radius);background:#fff;color:var(--cap-gray-800);transition:border-color .15s ease,box-shadow .15s ease;line-height:1.5}.cap-input:focus{outline:none;border-color:var(--cap-green-500);box-shadow:0 0 0 3px #19875426}.cap-input::placeholder{color:var(--cap-gray-400)}.cap-label{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:var(--cap-gray-700);margin-bottom:.375rem}.cap-label-icon{color:var(--cap-primary);flex-shrink:0}.cap-required{color:var(--cap-red-500)}.cap-select{appearance:none;background-image:none;padding-right:2.25rem;cursor:pointer}.cap-input-group{position:relative;display:flex;align-items:center}.cap-input-group .cap-input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--cap-primary);pointer-events:none;z-index:2;display:flex!important;align-items:center;justify-content:center}.cap-input-group .cap-input-icon-right{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--cap-gray-500);pointer-events:none;z-index:2;display:flex!important;align-items:center;justify-content:center}.cap-input-with-icon{padding-left:2.25rem!important}.cap-input.is-invalid{border-color:var(--cap-red-500);box-shadow:none}.cap-input.is-invalid:focus{border-color:var(--cap-red-500);box-shadow:0 0 0 3px #dc354526}.cap-input-group.is-invalid .cap-input-icon{color:var(--cap-red-500)}.cap-field-error{font-size:.75rem;color:var(--cap-red-500);margin-top:.3rem;display:block}.cap-spinner-sm{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:cap-spin .7s linear infinite;flex-shrink:0}.cap-pagination{display:flex;align-items:center;gap:.25rem}.cap-pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 .5rem;border-radius:var(--cap-radius);border:1px solid var(--cap-gray-300);background:#fff;color:var(--cap-gray-700);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.cap-pagination-btn:hover:not(:disabled):not(.active){background-color:var(--cap-gray-100);border-color:var(--cap-gray-400)}.cap-pagination-btn.active{background-color:var(--cap-green-500);border-color:var(--cap-green-500);color:#fff}.cap-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.cap-metric{display:flex;flex-direction:column;padding:1rem 1.25rem;background:#fff;border:1px solid var(--cap-gray-200);border-radius:var(--cap-radius)}.cap-metric-value{font-size:1.5rem;font-weight:700;color:var(--cap-gray-800);line-height:1.2}.cap-metric-label{font-size:.8125rem;color:var(--cap-gray-500);margin-top:.25rem}.cap-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--cap-gray-500);margin-bottom:1rem}.cap-breadcrumb a{color:var(--cap-green-600);text-decoration:none;font-weight:500}.cap-breadcrumb a:hover{text-decoration:underline}.cap-breadcrumb-sep:after{content:"/";color:var(--cap-gray-400)}.cap-chips{display:flex;gap:.5rem;flex-wrap:wrap}.cap-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.375rem .875rem;border-radius:9999px;font-size:.8125rem;font-weight:500;border:1px solid var(--cap-gray-300);background:#fff;color:var(--cap-gray-600);cursor:pointer;transition:all .15s ease}.cap-chip:hover{border-color:var(--cap-green-500);color:var(--cap-green-600)}.cap-chip.active{background-color:var(--cap-green-500);border-color:var(--cap-green-500);color:#fff}.cap-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:9999px;font-size:.6875rem;font-weight:700;background-color:#0000001a;padding:0 .35rem}.cap-chip.active .cap-chip-count{background-color:#ffffff40}.cap-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 1.5rem;border:2px dashed var(--cap-gray-300);border-radius:var(--cap-radius-lg);background-color:var(--cap-gray-50);cursor:pointer;transition:all .2s ease;text-align:center}.cap-dropzone:hover,.cap-dropzone.dragover{border-color:var(--cap-green-500);background-color:var(--cap-green-50)}.cap-dropzone-icon{width:48px;height:48px;color:var(--cap-gray-400);transition:color .2s ease}.cap-dropzone:hover .cap-dropzone-icon,.cap-dropzone.dragover .cap-dropzone-icon{color:var(--cap-green-500)}.cap-dropzone-text{font-size:.9rem;color:var(--cap-gray-600)}.cap-dropzone-hint{font-size:.8rem;color:var(--cap-gray-400)}.cap-empty{display:flex;flex-direction:column;align-items:center;padding:3rem 1.5rem;text-align:center}.cap-empty-icon{width:48px;height:48px;color:var(--cap-gray-300);margin-bottom:1rem}.cap-empty-title{font-size:1rem;font-weight:600;color:var(--cap-gray-700);margin-bottom:.25rem}.cap-empty-text{font-size:.875rem;color:var(--cap-gray-500)}.cap-modal-backdrop{position:fixed;inset:0;background:#0006;z-index:1050;animation:capFadeIn .15s ease}.cap-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1051;padding:1rem;animation:capFadeIn .15s ease}.cap-modal-content{background:#fff;border-radius:var(--cap-radius-lg);box-shadow:var(--cap-shadow-lg);width:100%;max-width:680px;max-height:90vh;overflow-y:auto}.cap-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--cap-gray-200)}.cap-modal-title{font-size:1.125rem;font-weight:700;color:var(--cap-gray-800);margin:0}.cap-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--cap-radius);border:none;background:transparent;cursor:pointer;color:var(--cap-gray-500);transition:background-color .15s ease}.cap-modal-close:hover{background-color:var(--cap-gray-100)}.cap-modal-body{padding:1.5rem}.cap-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--cap-gray-200)}@keyframes capFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cap-spin{to{transform:rotate(360deg)}}.cap-info-banner{display:flex;gap:.75rem;padding:1rem;border-radius:var(--cap-radius);font-size:.8125rem;line-height:1.5}.cap-info-banner-info{background-color:var(--cap-blue-50);color:var(--cap-blue-600);border:1px solid var(--cap-blue-100)}.cap-info-banner-success{background-color:var(--cap-green-50);color:var(--cap-green-700);border:1px solid var(--cap-green-100)}.cap-info-banner-warning{background-color:var(--cap-amber-50);color:var(--cap-amber-600);border:1px solid var(--cap-amber-100)}.cap-info-banner-error{background-color:var(--cap-red-50);color:var(--cap-red-600);border:1px solid var(--cap-red-100)}.cap-file-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--cap-gray-50);border:1px solid var(--cap-gray-200);border-radius:var(--cap-radius)}.cap-file-preview-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--cap-radius);background-color:var(--cap-green-100);color:var(--cap-green-600);flex-shrink:0}.cap-file-preview-name{font-size:.875rem;font-weight:500;color:var(--cap-gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cap-file-preview-size{font-size:.75rem;color:var(--cap-gray-500)}.cap-file-preview-remove{margin-left:auto;cursor:pointer;color:var(--cap-gray-400);transition:color .15s}.cap-file-preview-remove:hover{color:var(--cap-red-500)}.cap-divider{border:none;border-top:1px solid var(--cap-gray-200);margin:1.25rem 0}.cap-text-muted{color:var(--cap-gray-500)}.cap-text-sm{font-size:.8125rem}.cap-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}lucide-icon{display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0;vertical-align:middle}.cap-filter-panel{overflow:hidden;max-height:0;opacity:0;transition:max-height .25s ease,opacity .2s ease,margin .2s ease;margin-bottom:0}.cap-filter-panel.open{max-height:400px;opacity:1;margin-bottom:1rem}
