.sidebar{width:260px;background:#1a1d23;height:100vh;position:fixed;left:0;top:0;bottom:0;z-index:1000;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.05);overflow:hidden}.logo-section{height:64px;display:flex;align-items:center;padding:0 24px;background:linear-gradient(90deg,#1a1d23,#22262e);border-bottom:1px solid rgba(255,255,255,.08)}.logo{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}.logo-icon{width:38px;height:38px;position:relative;display:flex;align-items:center;justify-content:center}.logo-icon svg{width:100%;height:100%;filter:drop-shadow(0 4px 12px rgba(99,102,241,.4))}.logo-text{font-size:1.375rem;font-weight:700;letter-spacing:-.5px;color:#fff;text-transform:uppercase}.nav-section{flex:1;padding:24px 0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.nav-section::-webkit-scrollbar{width:6px}.nav-section::-webkit-scrollbar-track{background:transparent}.nav-section::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.nav-group{margin-bottom:8px}.nav-group-title{color:#6b7280;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;padding:8px 24px;margin-bottom:4px}.nav-item{display:flex;align-items:center;gap:12px;padding:10px 24px;color:#9ca3af;text-decoration:none;transition:all .15s ease;position:relative;font-size:.875rem;font-weight:500;margin:2px 12px;border-radius:6px}.nav-item:hover{background:linear-gradient(90deg,#6366f114,#8b5cf614);color:#e5e7eb}.nav-item.active{background:linear-gradient(90deg,#6366f126,#8b5cf626);color:#fff}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);height:24px;width:3px;background:linear-gradient(180deg,#6366f1,#8b5cf6);border-radius:0 2px 2px 0}.nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.8}.nav-item:hover .nav-icon{opacity:1}.nav-icon svg{width:18px;height:18px}.nav-badge{margin-left:auto;padding:2px 6px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:10px;font-size:.65rem;font-weight:600;min-width:18px;text-align:center}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#1a1d23,#16181d)}.user-section{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff08;border-radius:8px;transition:background .2s;cursor:pointer}.user-section:hover{background:#ffffff0d}.user-avatar{width:36px;height:36px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.user-info{flex:1}.user-name{font-size:.875rem;font-weight:600;color:#f3f4f6}.user-role{font-size:.75rem;color:#9ca3af;margin-top:2px}.user-dropdown{color:#6b7280;font-size:12px}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform .3s ease;width:280px;box-shadow:4px 0 24px #0003}.sidebar.open{transform:translate(0)}}.faceted-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background:#00000080!important;z-index:9999!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px;animation:fadeIn .3s ease-out}.faceted-search-panel{position:relative!important;width:100%!important;max-width:420px!important;max-height:85vh!important;background:#fff!important;box-shadow:0 20px 60px #0000004d!important;z-index:10000!important;display:flex!important;flex-direction:column!important;border-radius:24px!important;transform:scale(.9) translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);animation:modalEnter .3s ease-out forwards;margin:0 auto}@keyframes modalEnter{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.faceted-search-panel.open{opacity:1;transform:scale(1) translateY(0)}.faceted-header{padding:24px 28px 20px;border-bottom:1px solid #e5e7eb;background:#fff;border-radius:24px 24px 0 0}.faceted-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.faceted-header h3{font-size:1.25rem;font-weight:700;color:#111827;margin:0}.faceted-close{background:none;border:none;font-size:28px;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s;line-height:1}.faceted-close:hover{background:#f3f4f6;color:#111827}.faceted-results{font-size:.875rem;color:#6b7280;margin-bottom:8px}.clear-all-btn{font-size:.875rem;color:#6366f1;background:none;border:none;cursor:pointer;padding:4px 0;text-decoration:underline;transition:color .2s}.clear-all-btn:hover{color:#4f46e5}.faceted-search-bar{padding:16px 24px;border-bottom:1px solid #e5e7eb;position:relative}.faceted-search-input{width:100%;padding:10px 40px 10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s;background:#f9fafb}.faceted-search-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;background:#fff}.faceted-search-icon{position:absolute;right:36px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#6b7280;pointer-events:none}.faceted-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px 0;min-height:0}.faceted-content::-webkit-scrollbar{width:8px}.faceted-content::-webkit-scrollbar-track{background:transparent;margin:4px 0}.faceted-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;border:2px solid white}.faceted-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.faceted-section{margin-bottom:4px}.faceted-section-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.faceted-section-header:hover{background:#f9fafb}.faceted-section-title{font-size:.875rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.faceted-chevron{width:16px;height:16px;color:#6b7280;transition:transform .2s;transform:rotate(-90deg)}.faceted-chevron.expanded{transform:rotate(0)}.faceted-section-content{padding:0 24px 12px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.faceted-checkbox-item{display:flex;align-items:center;cursor:pointer;transition:background .2s;border-radius:4px;margin:0 -8px;padding:8px}.faceted-checkbox-item:hover{background:#f3f4f6}.faceted-checkbox-item input[type=checkbox]{width:18px;height:18px;margin-right:12px;cursor:pointer;accent-color:#6366f1}.faceted-checkbox-label{flex:1;font-size:.875rem;color:#374151}.faceted-count{font-size:.75rem;color:#9ca3af;background:#f3f4f6;padding:2px 8px;border-radius:12px;margin-left:8px}.faceted-checkbox-item input:checked~.faceted-checkbox-label{color:#111827;font-weight:500}.faceted-checkbox-item input:checked~.faceted-count{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.faceted-footer{padding:20px 28px 24px;border-top:1px solid #e5e7eb;background:#fff;display:flex;gap:12px;border-radius:0 0 24px 24px}.faceted-btn{flex:1;padding:12px 24px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.faceted-btn.secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.faceted-btn.secondary:hover{background:#f9fafb;border-color:#9ca3af}.faceted-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.faceted-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}@media (max-width: 768px){.faceted-overlay{padding:0;align-items:flex-end}.faceted-search-panel{max-width:100%;max-height:90vh;border-radius:24px 24px 0 0}.faceted-search-panel.open{transform:scale(1) translateY(0)}}@media (max-width: 480px){.faceted-header{padding:20px 20px 16px}.faceted-content{padding:8px 0}.faceted-section-header{padding:10px 20px}.faceted-section-content{padding:0 20px 10px}.faceted-footer{padding:16px 20px 20px}}.floating-toolbar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;flex-direction:row;gap:8px;padding:12px 20px;background:#fff;border-radius:50px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;z-index:1000;transition:all .3s ease}.floating-toolbar:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #0000000d}.toolbar-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:0;background:transparent;border:none;cursor:pointer;transition:all .2s ease;border-radius:12px;position:relative}.toolbar-btn:hover{transform:translateY(-2px)}.toolbar-btn:active{transform:translateY(0)}.toolbar-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:10px;font-weight:600;font-size:14px;box-shadow:0 4px 6px -1px #6366f14d;width:44px;height:44px}.toolbar-btn-primary:hover{background:linear-gradient(135deg,#5558e3,#7c4ee8);box-shadow:0 6px 10px -1px #6366f166}.toolbar-btn-primary .toolbar-text{display:none}.toolbar-btn-icon{width:44px;height:44px;padding:10px;color:#6b7280;background:#f9fafb}.toolbar-btn-icon:hover{background:#f3f4f6;color:#6366f1}.toolbar-btn-icon:active{background:#e5e7eb}.toolbar-icon{width:20px;height:20px;flex-shrink:0}.toolbar-btn-icon .toolbar-icon{width:24px;height:24px}.toolbar-badge{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px;box-shadow:0 2px 4px #0000001a;animation:badge-pulse 2s infinite}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.toolbar-divider{width:1px;height:32px;background:linear-gradient(180deg,transparent 0%,#e5e7eb 50%,transparent 100%);margin:0 4px}@media (max-width: 1024px){.floating-toolbar{padding:10px 16px}.toolbar-btn-primary{padding:10px 12px;font-size:13px}.toolbar-btn-icon{width:40px;height:40px;padding:8px}.toolbar-icon{width:18px;height:18px}.toolbar-btn-icon .toolbar-icon{width:22px;height:22px}}@media (max-width: 768px){.floating-toolbar{bottom:16px;padding:8px 12px}.toolbar-btn-primary .toolbar-text{display:none}.toolbar-btn-primary{width:44px;height:44px;padding:10px}.toolbar-btn-icon{width:44px;height:44px}}.toolbar-btn:focus{outline:2px solid #6366f1;outline-offset:2px}.toolbar-btn:focus:not(:focus-visible){outline:none}.toolbar-btn:before{content:attr(title);position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;box-shadow:0 2px 8px #00000026}.toolbar-btn:after{content:"";position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937;opacity:0;pointer-events:none;transition:opacity .2s ease}.toolbar-btn:hover:before,.toolbar-btn:hover:after{opacity:1}@media (max-width: 768px){.toolbar-btn:before,.toolbar-btn:after{display:none}}@keyframes slideInBottom{0%{opacity:0;transform:translate(-50%) translateY(100px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.floating-toolbar{animation:slideInBottom .4s ease-out}.metabase-widget{background:#fff;border-radius:12px;padding:0;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;display:flex;flex-direction:column;height:100%;overflow:hidden}.metabase-widget .widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:24px 24px 0}.metabase-widget .widget-title{font-size:1.125rem;font-weight:600;color:#111827}.metabase-widget .widget-subtitle{color:#6b7280;font-size:.875rem;margin-bottom:20px;padding:0 24px}.metabase-widget .widget-actions{display:flex;gap:12px}.metabase-widget .widget-action{cursor:pointer;font-size:1.25rem;opacity:.7;transition:opacity .2s}.metabase-widget .widget-action:hover{opacity:1}.metabase-question-container{flex:1;min-height:300px;position:relative;width:100%;overflow:hidden}.metabase-question-container>div,.metabase-question-container [class*=Question],.metabase-question-container [class*=QueryVisualization]{height:100%!important;width:100%!important}.metabase-question-container,.metabase-question-container *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.metabase-question-container svg{max-width:100%;height:auto}.metabase-question-container [class*=Chart] path,.metabase-question-container svg path{stroke:#6366f1!important}.metabase-question-container [class*=QuestionHeader],.metabase-question-container [class*=ViewHeader]{display:none!important}.metabase-question-container button{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:8px!important;color:#374151!important;font-size:.875rem!important;font-weight:500!important;padding:8px 16px!important;transition:all .2s!important;cursor:pointer!important;opacity:1!important;visibility:visible!important}.metabase-question-container button:hover{background:#f9fafb!important;border-color:#6366f1!important;color:#6366f1!important}.metabase-question-container button[class*=primary],.metabase-question-container button[class*=Primary]{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;border:none!important}.metabase-question-container button[class*=primary]:hover,.metabase-question-container button[class*=Primary]:hover{transform:translateY(-1px)!important;box-shadow:0 4px 12px #6366f14d!important}.metabase-question-container button svg{width:16px!important;height:16px!important;opacity:1!important;display:inline-block!important}.metabase-question-container button svg *{fill:currentColor!important;stroke:currentColor!important;opacity:1!important}.metabase-question-container [class*=Loading]{display:flex;align-items:center;justify-content:center;min-height:300px;color:#6b7280}.metabase-question-container [class*=Error]{padding:32px;text-align:center;color:#dc2626}.dashboard-container{padding:32px}.dashboard-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px;flex-wrap:wrap}.header-title{flex:1;min-width:200px}@media (max-width: 1024px){.dashboard-header{flex-direction:column;align-items:stretch}}@media (max-width: 768px){.widget-1,.widget-2,.widget-3,.widget-4,.widget-5,.widget-6,.widget-7,.widget-8,.widget-9,.widget-10,.widget-11{grid-column:span 12!important}.dashboard-grid{display:flex;flex-direction:column;gap:16px}.stats-row{grid-template-columns:1fr;gap:16px}.dashboard-header h1{font-size:1.5rem}.dashboard-container{padding:16px}}.dashboard-header h1{font-size:2rem;font-weight:700;color:#111827;margin-bottom:8px}.dashboard-header p{color:#6b7280;font-size:1rem}.search-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 1px 3px #0000000d}.search-header{display:flex;gap:16px;margin-bottom:20px}.main-search-bar{flex:1;display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;transition:all .2s}.main-search-bar:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.main-search-icon{width:20px;height:20px;color:#6b7280}.main-search-input{flex:1;border:none;background:none;outline:none;font-size:.95rem;color:#111827}.main-search-input::placeholder{color:#9ca3af}.search-actions{display:flex;gap:12px}.search-button{padding:12px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.search-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.advanced-toggle{padding:12px 20px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;display:flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s}.advanced-toggle:hover{border-color:#6366f1;background:#f9fafb}.advanced-toggle svg{width:16px;height:16px;transition:transform .2s}.advanced-toggle.active svg{transform:rotate(180deg)}.saved-searches{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.saved-search-chip{padding:8px 16px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;font-size:.875rem;color:#6b7280;cursor:pointer;transition:all .2s}.saved-search-chip:hover{background:#e5e7eb;color:#111827}.saved-search-chip.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.advanced-filters{animation:slideDown .3s ease-out;margin-top:20px;padding-top:20px;border-top:1px solid #e5e7eb}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-label{font-size:.875rem;font-weight:600;color:#374151}.filter-input,.filter-select{padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s;background:#fff}.filter-input:focus,.filter-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.date-range-container{display:flex;align-items:center;gap:12px}.date-separator{color:#6b7280;font-size:.875rem}.filter-actions{display:flex;gap:12px;flex-wrap:wrap}.filter-btn{padding:10px 20px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#f9fafb;border-color:#9ca3af}.filter-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none}.filter-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.stat-card{background:#fff;padding:24px;border-radius:12px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-label{color:#6b7280;font-size:.875rem;font-weight:500;margin-bottom:8px}.stat-value{font-size:2rem;font-weight:700;color:#111827;margin-bottom:12px}.stat-change{font-size:.875rem;display:flex;align-items:center;gap:4px}.stat-change.positive{color:#10b981}.stat-change.negative{color:#ef4444}.stat-change span{font-size:1.25rem}.dashboard-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;margin-bottom:32px}.widget{background:#fff;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb;display:flex;flex-direction:column}.widget-1{grid-column:span 6}.widget-2,.widget-3{grid-column:span 3}.widget-4,.widget-5{grid-column:span 6}.widget-6,.widget-7,.widget-8,.widget-9{grid-column:span 3}.widget-10{grid-column:span 6}.widget-11,.widget.full-width{grid-column:span 12}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.widget-title{font-size:1.125rem;font-weight:600;color:#111827}.widget-subtitle{color:#6b7280;font-size:.875rem;margin-bottom:20px}.widget-actions{display:flex;gap:12px}.widget-action{cursor:pointer;font-size:1.25rem;opacity:.7;transition:opacity .2s}.widget-action:hover{opacity:1}.chart-container{flex:1;min-height:300px;position:relative}.chart-container.small{min-height:200px}.leaderboard{display:flex;flex-direction:column;gap:12px}.leaderboard-item{display:flex;align-items:center;gap:16px;padding:12px;background:#f9fafb;border-radius:8px;transition:background .2s}.leaderboard-item:hover{background:#f3f4f6}.leaderboard-rank{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:50%;background:#e5e7eb;color:#6b7280}.leaderboard-rank.gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.leaderboard-rank.silver{background:linear-gradient(135deg,#e5e7eb,#9ca3af);color:#fff}.leaderboard-rank.bronze{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.leaderboard-info{flex:1}.leaderboard-name{font-weight:600;color:#111827;margin-bottom:2px}.leaderboard-stat{font-size:.875rem;color:#6b7280}.leaderboard-value{font-weight:600;color:#10b981}.data-table th{text-align:left;padding:12px;background:#f9fafb;font-weight:600;color:#374151;font-size:.875rem;border-bottom:1px solid #e5e7eb}.data-table td{padding:12px;border-bottom:1px solid #f3f4f6;font-size:.875rem;color:#111827}.data-table tbody tr:hover{background:#f9fafb}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600}.status-badge.in-transit{background:#dbeafe;color:#1e40af}.status-badge.delivered{background:#d1fae5;color:#065f46}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.delayed{background:#fee2e2;color:#991b1b}.table-action{padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;color:#374151;cursor:pointer;transition:all .2s}.table-action:hover{background:#6366f1;color:#fff;border-color:#6366f1}.action-btn{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.action-btn:hover{background:#f9fafb;border-color:#9ca3af}.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.active-filter-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-radius:20px;font-size:.875rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.remove-filter{background:#fff3;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;line-height:1;color:#fff;transition:background .2s}.remove-filter:hover{background:#ffffff4d}.global-filters-bar{grid-column:span 12;background:#fff;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000000d;border:1px solid #e5e7eb}.global-filter-section{margin-bottom:16px}.global-filter-section:last-child{margin-bottom:0}.global-filter-section label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:8px}.quick-filters{display:flex;flex-wrap:wrap;gap:8px}.quick-filter-chip{padding:8px 14px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:20px;font-size:.875rem;color:#6b7280;cursor:pointer;transition:all .2s}.quick-filter-chip:hover{background:#e5e7eb;border-color:#9ca3af}.quick-filter-chip.selected{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1.25rem;font-weight:600;color:#111827;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-close:hover{background:#f3f4f6;color:#111827}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{padding:20px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;background:#f9fafb}.dynamic-filter-section{margin-bottom:24px}.dynamic-filter-section:last-child{margin-bottom:0}.dynamic-filter-section h4{font-size:.95rem;font-weight:600;color:#111827;margin-bottom:12px}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.checkbox-item{display:flex;align-items:center;gap:8px}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#6366f1}.checkbox-item label{font-size:.875rem;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.range-slider-container{padding:12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.range-slider-label{display:flex;justify-content:space-between;margin-bottom:12px;font-size:.875rem;color:#6b7280}.range-slider{width:100%;height:6px;background:#d1d5db;border-radius:3px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a}.range-slider::-moz-range-thumb{width:20px;height:20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;cursor:pointer;box-shadow:0 2px 4px #0000001a;border:none}@media (max-width: 1400px){.widget-1,.widget-4,.widget-5,.widget-10{grid-column:span 12}.widget-2,.widget-3,.widget-6,.widget-7,.widget-8,.widget-9{grid-column:span 6}}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr;gap:16px}.widget{grid-column:span 1!important}.stats-row,.filter-container{grid-template-columns:1fr}.search-header{flex-direction:column}.search-actions{width:100%}.search-button,.advanced-toggle{flex:1}}.transformation-container{background:#fff;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000000d}.transform-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e5e7eb}.transform-title{font-size:1.75rem;font-weight:700;color:#111827}.transform-actions{display:flex;gap:12px}.header-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.header-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.header-btn.secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.header-btn.secondary:hover{background:#f9fafb;border-color:#9ca3af;box-shadow:none}.header-btn svg{width:18px;height:18px}.vendor-selection{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:center;margin-bottom:32px}.vendor-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .2s}.vendor-card:hover{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.vendor-label{font-size:.875rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.vendor-select{width:100%;padding:12px 16px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;color:#111827;cursor:pointer;transition:all .2s}.vendor-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.arrow-container{display:flex;align-items:center;justify-content:center}.transform-arrow{width:60px;height:60px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #6366f14d;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.transform-arrow svg{width:28px;height:28px;color:#fff}.connection-config{background:#f9fafb;border-radius:12px;padding:24px;margin-bottom:32px;border:1px solid #e5e7eb}.connection-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.connection-config-title{display:flex;align-items:center;gap:12px;font-size:1.125rem;font-weight:600;color:#111827}.connection-status{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border-radius:20px;font-size:.875rem;font-weight:500;border:1px solid #e5e7eb}.connection-status.connected{color:#059669;background:#d1fae5;border-color:#10b981}.connection-status.testing{color:#d97706;background:#fef3c7;border-color:#f59e0b}.connection-status.disconnected{color:#6b7280}.connection-status-dot{width:8px;height:8px;border-radius:50%;background:#9ca3af;animation:blink 2s infinite}.connection-status.connected .connection-status-dot{background:#10b981;animation:none}.connection-status.testing .connection-status-dot{background:#f59e0b;animation:blink .5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.test-connection-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.test-connection-btn:hover{background:#6366f1;color:#fff;border-color:#6366f1}.connection-config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.config-group{display:flex;flex-direction:column;gap:8px}.config-label{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:#374151}.config-input{padding:10px 14px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s}.config-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.config-help{font-size:.75rem;color:#6b7280}.mapping-section{margin-top:32px}.mapping-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.mapping-header h3{font-size:1.25rem;font-weight:600;color:#111827}.mapping-actions{display:flex;gap:12px}.mapping-btn{padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.mapping-btn:hover{background:#f9fafb;border-color:#9ca3af}.mapping-grid{display:grid;grid-template-columns:1fr 100px 1fr;gap:24px;margin-bottom:32px;position:relative}.mapping-column{background:#f9fafb;border-radius:12px;overflow:hidden;border:1px solid #e5e7eb}.column-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border-bottom:1px solid #e5e7eb}.column-title{font-weight:600;color:#111827}.column-count{font-size:.875rem;color:#6b7280;background:#f3f4f6;padding:4px 8px;border-radius:4px}.fields-list{padding:16px;max-height:400px;overflow-y:auto}.field-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:8px;margin-bottom:12px;border:1px solid #e5e7eb;transition:all .2s}.field-item:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11a}.field-item.required{border-left:3px solid #ef4444}.field-item.mapped{background:linear-gradient(to right,#6366f10d,#8b5cf60d);border-color:#6366f1}.field-info{display:flex;align-items:center;gap:12px;flex:1}.field-name{font-weight:500;color:#111827}.field-type{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:2px 6px;border-radius:4px}.field-required{color:#ef4444;font-weight:700}.field-mapping-select{padding:6px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;background:#fff;cursor:pointer;min-width:150px}.field-mapping-select:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.field-status{font-size:.875rem;color:#10b981;font-weight:500}.mapping-visualizer{display:flex;align-items:center;justify-content:center;position:relative}.connection-lines{position:absolute;top:0;left:0;width:100%;height:100%}.transformation-rules{margin-top:32px;padding:24px;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.transformation-rules h4{font-size:1.125rem;font-weight:600;color:#111827;margin-bottom:20px}.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.rule-card{padding:16px;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.rule-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rule-title{font-weight:500;color:#111827}.rule-description{font-size:.875rem;color:#6b7280;line-height:1.5}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#cbd5e1;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background:linear-gradient(135deg,#6366f1,#8b5cf6)}input:checked+.slider:before{transform:translate(20px)}.transformation-footer{display:flex;justify-content:space-between;align-items:center;margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb}.footer-info{display:flex;align-items:center;gap:24px}.mapping-summary{font-size:.875rem;color:#6b7280;background:#f3f4f6;padding:8px 16px;border-radius:6px}.footer-actions{display:flex;gap:12px}.btn-secondary,.btn-primary{padding:12px 24px;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.dnd-mapping-grid{display:grid;grid-template-columns:1fr 100px 1fr;gap:24px;margin-bottom:32px;position:relative}.dnd-column{background:#f9fafb;border-radius:12px;overflow:visible;border:1px solid #e5e7eb}.field-item.draggable{cursor:grab;transition:all .2s}.field-item.draggable:hover:not(.mapped){transform:translate(5px);box-shadow:0 4px 12px #6366f126}.field-item.dragging{opacity:.5;cursor:grabbing}.field-item.drop-zone{position:relative;transition:all .2s}.field-item.drop-zone.drag-over{background:linear-gradient(to right,#6366f11a,#8b5cf61a);border-color:#6366f1;transform:scale(1.02)}.drag-hint{font-size:.75rem;color:#9ca3af;font-style:italic;margin-left:auto}.drop-hint{font-size:.75rem;color:#9ca3af;font-style:italic;margin-left:auto;opacity:.6}.field-item.drop-zone.drag-over .drop-hint{color:#6366f1;font-weight:600;opacity:1}.mapped-info{display:flex;align-items:center;gap:8px;margin-left:auto}.mapped-to{font-size:.875rem;color:#10b981;font-weight:500}.unmap-btn{width:20px;height:20px;border-radius:50%;border:1px solid #ef4444;background:#fff;color:#ef4444;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;line-height:1;transition:all .2s}.unmap-btn:hover{background:#ef4444;color:#fff;transform:scale(1.1)}.connection-visualizer{position:relative;width:100px}.connection-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}@keyframes mappingSuccess{0%{transform:scale(1)}50%{transform:scale(1.05);background:linear-gradient(to right,#10b9811a,#0596691a)}to{transform:scale(1)}}.field-item.mapped{animation:mappingSuccess .5s ease-out}@media (max-width: 1200px){.mapping-grid{grid-template-columns:1fr;gap:24px}.mapping-visualizer{display:none}.vendor-selection{grid-template-columns:1fr;gap:16px}.arrow-container{display:none}}@media (max-width: 768px){.transformation-container{padding:16px}.transform-header{flex-direction:column;gap:16px;align-items:flex-start}.transform-actions{width:100%}.header-btn{flex:1}.mapping-header{flex-direction:column;gap:16px;align-items:flex-start}.mapping-actions{width:100%}.mapping-btn{flex:1}.connection-config-grid,.rules-grid{grid-template-columns:1fr}.transformation-footer{flex-direction:column;gap:16px}.footer-actions{width:100%}.btn-secondary,.btn-primary{flex:1}}.click-mapping-container{position:relative;background:#f9fafb;border-radius:12px;padding:24px;margin-top:24px}.click-mapping-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px}.click-column{display:flex;flex-direction:column;gap:12px}.click-field-item{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:14px 16px;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center;position:relative}.click-field-item:hover{border-color:#6366f1;transform:translate(4px);box-shadow:0 2px 8px #6366f126}.click-field-item.source:hover{transform:translate(-4px)}.click-field-item.selected{border-color:#6366f1;background:linear-gradient(135deg,#ede9fe,#ddd6fe);box-shadow:0 0 0 4px #6366f11a;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #6366f11a}50%{box-shadow:0 0 0 8px #6366f126}}.click-field-item.mapped{border-color:#10b981;background:#f0fdf4}.click-field-item.connectable{border-color:#8b5cf6;background:#faf5ff}.click-field-item.connectable:hover{border-color:#7c3aed;box-shadow:0 0 0 4px #8b5cf61a}.click-field-item.required{border-left:4px solid #f59e0b}.mapped-indicator{display:flex;align-items:center;gap:8px}.mapped-icon{color:#10b981;font-weight:700;font-size:16px}.mapped-status{color:#10b981;font-weight:700;font-size:14px}.unmap-btn{width:24px;height:24px;border-radius:50%;border:none;background:#fee2e2;color:#dc2626;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.unmap-btn:hover{background:#dc2626;color:#fff;transform:scale(1.1)}.mapping-instructions{padding:12px 16px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:8px;border-left:4px solid #6366f1}@media (max-width: 1200px){.click-mapping-grid{gap:40px}}@media (max-width: 768px){.click-mapping-grid{grid-template-columns:1fr;gap:32px}.click-field-item:hover,.click-field-item.source:hover{transform:scale(1.02)}}.file-upload-section{margin-top:16px}.divider-with-text{display:flex;align-items:center;text-align:center;margin:16px 0}.divider-with-text:before,.divider-with-text:after{content:"";flex:1;border-bottom:1px solid #d1d5db}.divider-with-text span{padding:0 12px;color:#9ca3af;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.file-upload-btn{width:100%;padding:12px 16px;background:#fff;border:2px dashed #d1d5db;border-radius:8px;color:#6b7280;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.file-upload-btn:hover{border-color:#6366f1;background:#f9fafb;color:#6366f1}.file-upload-btn svg{flex-shrink:0}.clear-file-btn{width:100%;padding:8px 12px;margin-top:8px;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.clear-file-btn:hover{background:#fecaca;border-color:#dc2626}.vendor-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.saved-transformations-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:32px;box-shadow:0 1px 3px #0000000d}.saved-transformations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.saved-transformations-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0}.toggle-saved-btn{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;transition:all .2s}.toggle-saved-btn:hover{color:#6366f1;transform:rotate(180deg)}.transformations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.transformation-card{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .3s ease}.transformation-card:hover{border-color:#6366f1;box-shadow:0 4px 12px #6366f126;transform:translateY(-2px)}.transformation-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.transformation-name{font-size:16px;font-weight:600;color:#111827;margin:0;flex:1}.transformation-status{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.transformation-status.active{background:#d1fae5;color:#065f46}.transformation-status.paused{background:#fef3c7;color:#92400e}.transformation-status.error{background:#fee2e2;color:#991b1b}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.transformation-flow{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:#fff;border-radius:8px}.flow-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#374151}.flow-arrow{color:#9ca3af;flex-shrink:0}.transformation-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:18px;font-weight:700;color:#111827}.transformation-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:16px;padding-top:12px;border-top:1px solid #e5e7eb}.meta-item{font-size:12px;color:#6b7280}.transformation-actions{display:flex;gap:8px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.action-btn:hover{border-color:#6366f1;color:#6366f1;transform:translateY(-1px)}.action-btn.primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:transparent}.action-btn.primary:hover{box-shadow:0 4px 12px #6366f14d;color:#fff}.action-btn.danger:hover{border-color:#dc2626;color:#dc2626}.action-btn svg{flex-shrink:0}@media (max-width: 768px){.transformations-grid{grid-template-columns:1fr}.transformation-actions{flex-wrap:wrap}.action-btn{flex:1 1 45%}}.soap-history-container{padding:24px;max-width:1400px;margin:0 auto}.soap-history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:28px;font-weight:700;color:#1f2937;margin:0}.header-actions{display:flex;gap:12px}.refresh-btn,.delete-all-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.refresh-btn{background-color:#6366f1;color:#fff}.refresh-btn:hover{background-color:#4f46e5}.delete-all-btn{background-color:#ef4444;color:#fff}.delete-all-btn:hover{background-color:#dc2626}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center}.stat-card.success{border-color:#10b981;background:#ecfdf5}.stat-card.error{border-color:#ef4444;background:#fef2f2}.stat-value{font-size:32px;font-weight:700;color:#1f2937;margin-bottom:8px}.stat-card.success .stat-value{color:#059669}.stat-card.error .stat-value{color:#dc2626}.stat-label{font-size:14px;color:#6b7280;font-weight:500}.loading-state,.error-state,.empty-state{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:60px 20px;text-align:center}.loading-state{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state svg{color:#9ca3af;margin-bottom:16px}.empty-state h3{font-size:18px;font-weight:600;color:#374151;margin:0 0 8px}.empty-state p{font-size:14px;color:#6b7280;margin:0}.error-state p{color:#ef4444;font-weight:500}.history-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:20px}.history-table{width:100%;border-collapse:collapse}.history-table thead{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.history-table th{padding:12px 16px;text-align:left;font-size:13px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.history-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.history-table tbody tr:hover{background-color:#f9fafb}.history-table tbody tr:last-child{border-bottom:none}.history-table td{padding:16px;font-size:14px;color:#1f2937}.vendor-badge{display:inline-block;padding:4px 12px;background-color:#dbeafe;color:#1e40af;border-radius:12px;font-size:13px;font-weight:500}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500}.status-badge.success{background-color:#d1fae5;color:#065f46}.status-badge.error{background-color:#fee2e2;color:#991b1b}.action-btn{padding:6px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-btn:hover{background-color:#f3f4f6}.action-btn.view-btn:hover{border-color:#6366f1;color:#6366f1}.action-btn.delete-btn:hover{border-color:#ef4444;color:#ef4444}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.pagination-btn{padding:8px 16px;border:1px solid #e5e7eb;background:#fff;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#6366f1}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:14px;color:#6b7280}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#1f2937;border-radius:16px;width:95%;max-width:1400px;min-width:1000px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;border:1px solid #374151}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #374151;background:#111827;border-radius:16px 16px 0 0}.modal-header h2{font-size:20px;font-weight:600;color:#f3f4f6;margin:0}.modal-close{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.modal-close:hover{background-color:#374151;color:#f3f4f6}.modal-body{padding:24px;color:#d1d5db}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section h3{font-size:16px;font-weight:600;color:#f3f4f6;margin:0 0 16px;display:flex;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;background:#111827;padding:20px;border-radius:12px;border:1px solid #374151}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-item.full-width{grid-column:1 / -1}.detail-item label{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.detail-item span{font-size:14px;color:#f3f4f6;font-weight:500}.endpoint-text{word-break:break-all;color:#818cf8!important;font-family:Monaco,Courier New,monospace;font-size:13px;background:#6366f11a;padding:4px 8px;border-radius:4px}.error-section{background-color:#ef44441a;padding:16px;border-radius:8px;border:1px solid rgba(239,68,68,.2)}.error-text{color:#f87171;margin:0;font-size:13px;font-family:Monaco,Courier New,monospace;white-space:pre-wrap;word-break:break-word}.json-display{background-color:#111827;border:1px solid #374151;border-radius:8px;padding:16px;font-size:13px;font-family:Monaco,Courier New,monospace;overflow-x:auto;margin:0;color:#e5e7eb;line-height:1.6}@media (max-width: 768px){.modal-content{min-width:auto;width:100%;margin:10px}.detail-grid{grid-template-columns:1fr}}:root{--primary-color: #6366f1;--primary-dark: #4f46e5;--secondary-color: #64748b;--bg-body: #f8fafc;--bg-hero: #0f172a;--surface-card: #ffffff;--text-main: #334155;--text-heading: #1e293b;--text-hero: #f1f5f9;--text-muted: #94a3b8;--border-color: #e2e8f0;--glass-border: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--font-main: "Inter", sans-serif;--max-width: 1200px}.landing-page-wrapper{font-family:var(--font-main);background-color:var(--bg-body);color:var(--text-main);line-height:1.6;overflow-x:hidden}.landing-page-wrapper *{margin:0;padding:0;box-sizing:border-box}.landing-page-wrapper a{text-decoration:none;color:inherit;transition:color .3s ease}.landing-page-wrapper ul{list-style:none}.landing-page-wrapper .container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.landing-page-wrapper h1,.landing-page-wrapper h2,.landing-page-wrapper h3,.landing-page-wrapper h4{font-weight:700;line-height:1.2;margin-bottom:1rem;color:var(--text-heading)}.landing-page-wrapper h1{font-size:3.5rem;letter-spacing:-.02em;color:var(--text-hero)}.landing-page-wrapper h2{font-size:2.5rem;margin-bottom:1.5rem}.landing-page-wrapper p{margin-bottom:1.5rem;color:var(--secondary-color)}.landing-page-wrapper .text-gradient{background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.landing-page-wrapper .btn-primary,.landing-page-wrapper .btn-secondary{display:inline-block;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .3s ease}.landing-page-wrapper .btn-primary{background:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}.landing-page-wrapper .btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.landing-page-wrapper .btn-secondary{background:transparent;border:1px solid var(--glass-border);color:var(--text-hero);margin-left:1rem}.landing-page-wrapper .btn-secondary:hover{background:#ffffff1a;border-color:#fff}.landing-page-wrapper .navbar{position:fixed;top:0;left:0;width:100%;padding:1.5rem 0;z-index:1000;background:#0f172ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border)}.landing-page-wrapper .nav-container{display:flex;justify-content:space-between;align-items:center}.landing-page-wrapper .logo{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em}.landing-page-wrapper .nav-links{display:flex;gap:2rem;align-items:center}.landing-page-wrapper .nav-links a{color:var(--text-muted)}.landing-page-wrapper .nav-links a:not(.btn-primary):hover{color:#fff}.landing-page-wrapper .mobile-menu-btn{display:none;background:none;border:none;cursor:pointer}.landing-page-wrapper .bar{display:block;width:25px;height:3px;background-color:#fff;margin:5px 0;transition:.3s}.landing-page-wrapper .hero{padding:8rem 0 4rem;position:relative;overflow:hidden;background-color:var(--bg-hero);perspective:2000px}.landing-page-wrapper .hero-container{display:flex;flex-direction:column;align-items:center;text-align:center}.landing-page-wrapper .hero-content{max-width:800px;margin-bottom:4rem;z-index:10;position:relative}.landing-page-wrapper .hero-content h1{margin-bottom:1.5rem}.landing-page-wrapper .hero-content p{margin-left:auto;margin-right:auto}.landing-page-wrapper .hero-image-container{width:100%;max-width:1100px;position:relative;z-index:1;transform-style:preserve-3d;transform:rotateX(20deg) scale(.9);transition:transform .5s ease-out}.landing-page-wrapper .hero-image-wrapper{position:relative;border-radius:16px;padding:8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px #ffffff0d,0 20px 50px -10px #00000080,0 0 100px -20px #6366f14d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-page-wrapper .hero-img{width:100%;display:block;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.landing-page-wrapper .hero-image-container:hover{transform:rotateX(10deg) scale(.95)}.landing-page-wrapper .section{padding:6rem 0}.landing-page-wrapper .section-header{text-align:center;max-width:700px;margin:0 auto 4rem}.landing-page-wrapper .grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.landing-page-wrapper .grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:3rem}.landing-page-wrapper .card,.landing-page-wrapper .feature-item{background:var(--surface-card);border:1px solid var(--border-color);padding:2rem;border-radius:12px;transition:transform .3s ease,box-shadow .3s ease;box-shadow:var(--shadow-sm)}.landing-page-wrapper .card:hover,.landing-page-wrapper .feature-item:hover{transform:translateY(-5px);border-color:var(--primary-color);box-shadow:var(--shadow-lg)}.landing-page-wrapper .card h3,.landing-page-wrapper .feature-item h3{margin-bottom:1rem;color:var(--text-heading)}.landing-page-wrapper .footer{padding:4rem 0;background-color:#fff;border-top:1px solid var(--border-color);margin-top:4rem}.landing-page-wrapper .footer-container{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}.landing-page-wrapper .footer-col .logo{color:var(--text-heading)}.landing-page-wrapper .footer-col h4{color:var(--text-heading);margin-bottom:1.5rem}.landing-page-wrapper .footer-col a{display:block;margin-bottom:.75rem;color:var(--secondary-color)}.landing-page-wrapper .footer-col a:hover{color:var(--primary-color)}@media (max-width: 768px){.landing-page-wrapper .hero-container{grid-template-columns:1fr;text-align:center}.landing-page-wrapper .hero-content p{margin:0 auto 2.5rem}.landing-page-wrapper .nav-links{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--bg-hero);flex-direction:column;padding:2rem;border-bottom:1px solid var(--glass-border)}.landing-page-wrapper .nav-links.active{display:flex}.landing-page-wrapper .mobile-menu-btn{display:block}.landing-page-wrapper h1{font-size:2.5rem}.landing-page-wrapper .grid-2{grid-template-columns:1fr}}.landing-page-wrapper .fade-in{opacity:1!important;transform:translateY(0)!important}.landing-page-wrapper .trusted-by{padding:2rem 0;background:var(--bg-hero);border-bottom:1px solid var(--glass-border)}.landing-page-wrapper .trusted-text{text-align:center;color:var(--text-muted);font-size:.875rem;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.landing-page-wrapper .logo-grid{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;opacity:.6}.landing-page-wrapper .logo-item{font-weight:700;font-size:1.25rem;color:#fff}.landing-page-wrapper .highlight-section{padding:6rem 0}.landing-page-wrapper .highlight-section.alt-bg{background-color:#f1f5f9}.landing-page-wrapper .highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.landing-page-wrapper .highlight-grid.reverse .highlight-content{order:2}.landing-page-wrapper .highlight-grid.reverse .highlight-image{order:1}.landing-page-wrapper .highlight-content h2{font-size:2.25rem;margin-bottom:1.5rem;color:var(--text-heading)}.landing-page-wrapper .feature-list{margin-top:2rem}.landing-page-wrapper .feature-list li{margin-bottom:.75rem;display:flex;align-items:center;color:var(--text-main)}.landing-page-wrapper .feature-list li:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-color);color:#fff;border-radius:50%;margin-right:1rem;font-size:.75rem}.landing-page-wrapper .dummy-image{width:100%;height:400px;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--secondary-color);font-weight:600;font-size:1.5rem;border:1px solid var(--border-color);box-shadow:var(--shadow-md)}@media (max-width: 768px){.landing-page-wrapper .highlight-grid,.landing-page-wrapper .highlight-grid.reverse{grid-template-columns:1fr;direction:ltr}.landing-page-wrapper .logo-grid{gap:1.5rem}}.proxy-logs-container{padding:24px;max-width:1400px;margin:0 auto}.logs-header{margin-bottom:24px}.logs-header h2{font-size:24px;font-weight:600;color:#111827;margin:0 0 8px}.logs-header p{font-size:14px;color:#6b7280;margin:0}.logs-table-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.logs-table{width:100%;border-collapse:collapse;font-size:14px}.logs-table th{background-color:#f9fafb;padding:12px 16px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.logs-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#111827}.logs-table tr:last-child td{border-bottom:none}.logs-table tr:hover{background-color:#f9fafb;cursor:pointer}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:500}.status-success{background-color:#d1fae5;color:#065f46}.status-failed{background-color:#fee2e2;color:#991b1b}.status-pending{background-color:#fef3c7;color:#92400e}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#1f2937;border-radius:16px;width:95%;max-width:1400px;min-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;border:1px solid #374151}.modal-header{padding:20px 24px;border-bottom:1px solid #374151;display:flex;justify-content:space-between;align-items:center;background:#111827;border-radius:16px 16px 0 0}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#f3f4f6}.close-btn{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn:hover{background-color:#374151;color:#f3f4f6}.modal-body{padding:24px;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px;color:#d1d5db}.detail-section h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#f3f4f6}.code-block{background-color:#111827;color:#e5e7eb;padding:16px;border-radius:8px;font-family:Monaco,Courier New,monospace;font-size:12px;white-space:pre-wrap;word-break:break-all;max-height:500px;overflow:auto;border:1px solid #374151}@media (max-width: 768px){.modal-content{min-width:auto;width:100%;margin:10px}.modal-body{grid-template-columns:1fr}}.metabase-analytics-container{width:100%;height:100%;display:flex;flex-direction:column;background:#f5f6fa;padding:0;overflow-y:auto}.metabase-dashboard-wrapper{flex:1;min-height:calc(100vh - 128px);background:#f5f6fa;overflow:auto;padding:0}.metabase-dashboard-wrapper>div{transform:scale(1.05);transform-origin:top left;width:95.2%}.metabase-dashboard-wrapper [class*=EditBar]:not(button),.metabase-dashboard-wrapper [class*=DashboardSidebar],.metabase-dashboard-wrapper [class*=DashboardInfoSidebar],.metabase-dashboard-wrapper [data-testid*=sidebar]{display:none!important}.metabase-dashboard-wrapper [class*=EditWarning],.metabase-dashboard-wrapper [data-testid*=edit-bar]{padding:8px 16px!important;font-size:.813rem!important;background:#6366f11a!important;border-bottom:1px solid rgba(99,102,241,.2)!important}.metabase-dashboard-wrapper [class*=EditWarning] button{display:inline-flex!important;visibility:visible!important;opacity:1!important}.metabase-dashboard-wrapper,.metabase-dashboard-wrapper *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.metabase-dashboard-wrapper [class*=DashboardHeader],.metabase-dashboard-wrapper [class*=Header]{background:#fff!important;border-bottom:1px solid #e5e7eb!important;padding:20px 32px!important;box-shadow:0 1px 3px #0000000f!important;margin-bottom:0!important}.metabase-dashboard-wrapper [class*=DashboardHeader] h1,.metabase-dashboard-wrapper [class*=Header] h1,.metabase-dashboard-wrapper [class*=title]{font-size:1.25rem!important;font-weight:600!important;color:#111827!important;margin:0!important}.metabase-dashboard-wrapper [class*=DashboardBody],.metabase-dashboard-wrapper [class*=Dashboard-body]{padding:32px!important;background:#f5f6fa!important}.metabase-dashboard-wrapper button{display:inline-flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;cursor:pointer!important;gap:6px!important}.metabase-dashboard-wrapper button>*,.metabase-dashboard-wrapper button span,.metabase-dashboard-wrapper button div{display:inline-flex!important;opacity:1!important;visibility:visible!important;align-items:center!important}.metabase-dashboard-wrapper button[class*=Button--primary],.metabase-dashboard-wrapper button[class*=primary],.metabase-dashboard-wrapper button[type=submit],.metabase-dashboard-wrapper [class*=ActionButton],.metabase-dashboard-wrapper button[class*=Primary]{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:10px 20px!important;font-weight:600!important;font-size:.875rem!important;transition:all .2s!important;box-shadow:0 2px 4px #6366f133!important;min-height:36px!important}.metabase-dashboard-wrapper button[class*=Button--primary]:hover,.metabase-dashboard-wrapper button[class*=primary]:hover,.metabase-dashboard-wrapper button[class*=Primary]:hover{transform:translateY(-1px)!important;box-shadow:0 4px 12px #6366f14d!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important}.metabase-dashboard-wrapper button[class*=Button--secondary],.metabase-dashboard-wrapper button[class*=secondary],.metabase-dashboard-wrapper button[class*=Button]:not([class*=primary]):not([class*=Primary]){background:#fff!important;color:#374151!important;border:1px solid #d1d5db!important;border-radius:8px!important;padding:10px 16px!important;font-weight:500!important;font-size:.875rem!important;transition:all .2s!important;min-height:36px!important}.metabase-dashboard-wrapper button[class*=Button--secondary]:hover,.metabase-dashboard-wrapper button[class*=secondary]:hover{background:#f9fafb!important;border-color:#9ca3af!important}.metabase-dashboard-wrapper [class*=Icon]:not(svg),.metabase-dashboard-wrapper button[class*=Icon]{color:#6b7280!important;transition:color .2s!important;display:inline-flex!important;opacity:1!important}.metabase-dashboard-wrapper [class*=Icon]:hover,.metabase-dashboard-wrapper button[class*=Icon]:hover{color:#6366f1!important}.metabase-dashboard-wrapper button svg,.metabase-dashboard-wrapper button [class*=Icon] svg,.metabase-dashboard-wrapper button svg *,.metabase-dashboard-wrapper svg,.metabase-dashboard-wrapper path,.metabase-dashboard-wrapper circle,.metabase-dashboard-wrapper rect,.metabase-dashboard-wrapper line,.metabase-dashboard-wrapper polyline,.metabase-dashboard-wrapper polygon{display:inline-block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}.metabase-dashboard-wrapper button svg *,.metabase-dashboard-wrapper button path,.metabase-dashboard-wrapper button circle,.metabase-dashboard-wrapper button rect{fill:currentColor!important;stroke:currentColor!important;stroke-width:1.5!important}.metabase-dashboard-wrapper button svg{width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;display:inline-block!important;flex-shrink:0!important}.metabase-dashboard-wrapper button:empty,.metabase-dashboard-wrapper button:not(:has(span:not(:empty))),.metabase-dashboard-wrapper button[class*=icon-button],.metabase-dashboard-wrapper button[aria-label]:not(:has(span)){min-width:40px!important;min-height:40px!important;padding:10px!important;border:1px solid #e5e7eb!important;background:#fff!important;border-radius:8px!important;color:#6b7280!important}.metabase-dashboard-wrapper button:empty:hover,.metabase-dashboard-wrapper button:not(:has(span:not(:empty))):hover{background:#f9fafb!important;border-color:#6366f1!important;color:#6366f1!important}.metabase-dashboard-wrapper [class*=DashboardHeader] button,.metabase-dashboard-wrapper [class*=Header] button,.metabase-dashboard-wrapper header button{display:inline-flex!important;visibility:visible!important;opacity:1!important;background:#fff!important;border:1px solid #d1d5db!important;border-radius:8px!important;padding:10px!important;min-width:40px!important;min-height:40px!important;align-items:center!important;justify-content:center!important;color:#6b7280!important}.metabase-dashboard-wrapper [class*=DashboardHeader] button svg,.metabase-dashboard-wrapper [class*=Header] button svg,.metabase-dashboard-wrapper header button svg{width:18px!important;height:18px!important;opacity:1!important;display:inline-block!important;visibility:visible!important;color:inherit!important}.metabase-dashboard-wrapper [class*=DashboardHeader] button svg *,.metabase-dashboard-wrapper [class*=Header] button svg *,.metabase-dashboard-wrapper header button svg *{fill:currentColor!important;stroke:currentColor!important;opacity:1!important;display:inline!important}.metabase-dashboard-wrapper [class*=DashboardHeader] button:hover,.metabase-dashboard-wrapper [class*=Header] button:hover,.metabase-dashboard-wrapper header button:hover{background:#f9fafb!important;border-color:#6366f1!important;color:#6366f1!important}.metabase-dashboard-wrapper button[class*=edit],.metabase-dashboard-wrapper button[class*=Edit],.metabase-dashboard-wrapper button[class*=save],.metabase-dashboard-wrapper button[class*=Save]{display:inline-flex!important;visibility:visible!important;opacity:1!important;background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:10px 20px!important;font-weight:600!important}.metabase-dashboard-wrapper [role=tablist],.metabase-dashboard-wrapper [class*=TabRow]{background:#f9fafb!important;padding:4px!important;border-radius:8px!important;margin:16px 32px!important;display:inline-flex!important;gap:4px!important}.metabase-dashboard-wrapper [role=tab],.metabase-dashboard-wrapper [class*=Tab]:not([class*=TabRow]){border-radius:6px!important;padding:8px 16px!important;font-weight:500!important;font-size:.875rem!important;color:#6b7280!important;background:transparent!important;border:none!important;transition:all .2s!important;cursor:pointer!important}.metabase-dashboard-wrapper [role=tab]:hover{background:#6366f11a!important;color:#6366f1!important}.metabase-dashboard-wrapper [role=tab][aria-selected=true],.metabase-dashboard-wrapper [class*=Tab--selected]{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;box-shadow:0 2px 8px #6366f14d!important}.metabase-dashboard-wrapper [class*=DashCard],.metabase-dashboard-wrapper [class*=Card]{border-radius:12px!important;border:1px solid #e5e7eb!important;box-shadow:0 1px 3px #0000000d!important;transition:transform .2s,box-shadow .2s!important;background:#fff!important;margin:24px!important;padding:24px!important}.metabase-dashboard-wrapper [class*=DashCard]:hover,.metabase-dashboard-wrapper [class*=Card]:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000001a!important}.metabase-dashboard-wrapper [class*=DashboardGrid],.metabase-dashboard-wrapper [class*=Grid]{gap:24px!important;padding:32px!important}.metabase-dashboard-wrapper [class*=Card] [class*=heading],.metabase-dashboard-wrapper [class*=Card] h3,.metabase-dashboard-wrapper [class*=Card] h4,.metabase-dashboard-wrapper [class*=DashCard] [class*=heading]{font-size:1.125rem!important;font-weight:600!important;color:#111827!important;margin-bottom:8px!important}.metabase-dashboard-wrapper [class*=Parameter],.metabase-dashboard-wrapper [class*=DashboardParameterList]{background:#fff!important;padding:20px 32px!important;border-bottom:1px solid #e5e7eb!important;margin:0!important}.metabase-dashboard-wrapper [class*=ParameterWidget],.metabase-dashboard-wrapper [class*=DashboardParameterList] button{background:#f3f4f6!important;border:1px solid #e5e7eb!important;border-radius:20px!important;padding:8px 16px!important;color:#6b7280!important;font-size:.875rem!important;font-weight:500!important;transition:all .2s!important;margin-right:8px!important}.metabase-dashboard-wrapper [class*=ParameterWidget]:hover{border-color:transparent!important;background:#e5e7eb!important;color:#111827!important;box-shadow:none!important}.metabase-dashboard-wrapper [class*=ParameterWidget--selected],.metabase-dashboard-wrapper [class*=ParameterWidget][class*=active]{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;color:#fff!important;border-color:transparent!important;box-shadow:none!important}.metabase-dashboard-wrapper [class*=PopoverBody],.metabase-dashboard-wrapper [class*=Dropdown]{border-radius:12px!important;box-shadow:0 10px 25px #00000026!important;border:1px solid #e5e7eb!important;background:#fff!important;padding:8px!important}.metabase-dashboard-wrapper [class*=MenuItem],.metabase-dashboard-wrapper [class*=ListItem]{border-radius:6px!important;padding:10px 14px!important;margin:2px 0!important;transition:background .2s!important;font-size:.875rem!important;color:#374151!important}.metabase-dashboard-wrapper [class*=MenuItem]:hover,.metabase-dashboard-wrapper [class*=ListItem]:hover{background:#f3f4f6!important;color:#111827!important}.metabase-dashboard-wrapper input[type=text],.metabase-dashboard-wrapper input[type=number],.metabase-dashboard-wrapper input[type=date],.metabase-dashboard-wrapper textarea,.metabase-dashboard-wrapper select{border:1px solid #d1d5db!important;border-radius:6px!important;padding:10px 14px!important;font-size:.875rem!important;transition:all .2s!important;background:#fff!important;color:#111827!important}.metabase-dashboard-wrapper input:focus,.metabase-dashboard-wrapper textarea:focus,.metabase-dashboard-wrapper select:focus{outline:none!important;border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f11a!important}.metabase-dashboard-wrapper [class*=Tooltip]{background:#111827!important;color:#fff!important;border-radius:6px!important;padding:8px 12px!important;font-size:.75rem!important;box-shadow:0 4px 12px #0003!important}.metabase-dashboard-wrapper [class*=Badge]{border-radius:20px!important;padding:4px 12px!important;font-size:.75rem!important;font-weight:600!important}.metabase-dashboard-wrapper [class*=Chart] svg{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif!important}.metabase-dashboard-wrapper [class*=Loading],.metabase-analytics-container .loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:#6b7280;font-size:.875rem}.metabase-analytics-container .error{padding:32px;text-align:center;color:#dc2626;background:#fef2f2;border-radius:12px;margin:20px;border:1px solid #fecaca}.metabase-dashboard-wrapper::-webkit-scrollbar{width:8px;height:8px}.metabase-dashboard-wrapper::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.metabase-dashboard-wrapper::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.metabase-dashboard-wrapper::-webkit-scrollbar-thumb:hover{background:#9ca3af}.metabase-dashboard-wrapper [class*=Chart],.metabase-dashboard-wrapper svg{font-size:1rem!important}.metabase-dashboard-wrapper [class*=Card] *{font-size:.95rem!important}.metabase-dashboard-wrapper [class*=Card] [class*=subtitle],.metabase-dashboard-wrapper [class*=Card] [class*=description]{color:#6b7280!important;font-size:.875rem!important;margin-bottom:20px!important}@media (max-width: 1024px){.metabase-dashboard-wrapper>div{transform:scale(1.02);width:98%}.metabase-dashboard-wrapper [class*=DashCard],.metabase-dashboard-wrapper [class*=Card]{margin:20px!important}.metabase-dashboard-wrapper [class*=DashboardGrid],.metabase-dashboard-wrapper [class*=Grid]{padding:24px!important;gap:20px!important}}@media (max-width: 768px){.metabase-dashboard-wrapper>div{transform:scale(1);width:100%}.metabase-analytics-container{padding:0}.metabase-dashboard-wrapper{min-height:calc(100vh - 160px)}.metabase-dashboard-wrapper [class*=DashboardHeader],.metabase-dashboard-wrapper [class*=Parameter]{padding:16px!important}.metabase-dashboard-wrapper [class*=DashCard],.metabase-dashboard-wrapper [class*=Card]{margin:16px!important}.metabase-dashboard-wrapper [class*=DashboardGrid],.metabase-dashboard-wrapper [class*=Grid]{padding:16px!important;gap:16px!important}.metabase-dashboard-wrapper [role=tablist]{margin:12px 16px!important;flex-wrap:wrap!important}.metabase-dashboard-wrapper button{font-size:.813rem!important;padding:8px 14px!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.metabase-dashboard-wrapper{animation:fadeIn .3s ease-in}.metabase-dashboard-wrapper *:not(button){transition-duration:.2s!important;transition-timing-function:ease!important}.metabase-dashboard-wrapper [class*=ButtonGroup],.metabase-dashboard-wrapper [class*=ActionGroup],.metabase-dashboard-wrapper [class*=button-group],.metabase-dashboard-wrapper [class*=actions]{display:flex!important;gap:8px!important;opacity:1!important;visibility:visible!important}.metabase-dashboard-wrapper [class*=EditBar] [class*=ButtonGroup],.metabase-dashboard-wrapper [data-testid*=edit-bar]>div{display:flex!important;opacity:1!important;visibility:visible!important}.metabase-dashboard-wrapper [class*=floating],.metabase-dashboard-wrapper [class*=Floating]{display:flex!important;opacity:1!important;visibility:visible!important;z-index:100!important}.address-book-page{padding:24px;max-width:1400px;margin:0 auto}.page-hero{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 0}.hero-content h1{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.hero-subtitle{color:var(--text-secondary);font-size:14px;margin:0}.add-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.add-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:14px;transition:all .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.stat-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px}.stat-icon.total{background:#667eea26}.stat-icon.active{background:#10b98126}.stat-icon.pending{background:#f59e0b26}.stat-icon.connected{background:#3b82f626}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:24px;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:10px 16px;flex:1;max-width:400px}.search-box svg{color:var(--text-secondary);flex-shrink:0}.search-box input{border:none;background:transparent;font-size:14px;color:var(--text-primary);width:100%;outline:none}.search-box input::placeholder{color:var(--text-secondary)}.filter-group select{padding:10px 14px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;cursor:pointer;outline:none}.filter-group select:focus{border-color:var(--primary-color)}.partners-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.partners-table{width:100%;border-collapse:collapse}.partners-table th,.partners-table td{padding:14px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-color);white-space:nowrap}.partners-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-primary)}.partners-table td{font-size:14px;color:var(--text-primary)}.partners-table td code{font-family:JetBrains Mono,monospace;font-size:13px;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.partners-table tbody tr:last-child td{border-bottom:none}.partners-table tbody tr:hover{background:#667eea08}.partners-table tbody tr.inactive-row{opacity:.6}.partner-cell{vertical-align:middle}.partner-cell>div:first-child,.partner-cell-content{display:flex;align-items:center;gap:12px}.partner-avatar{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;flex-shrink:0}.partner-name-info{display:flex;flex-direction:column}.partner-name-info .name{font-weight:600;color:var(--text-primary)}.partner-name-info .address{font-size:12px;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gln-cell{display:flex;flex-direction:column;gap:2px}.gln-cell code{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;color:var(--text-primary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.gln-cell .sgln{font-size:11px;color:var(--text-secondary)}.contact-cell{display:flex;flex-direction:column;gap:2px}.contact-cell .email,.contact-cell .phone{font-size:13px}.contact-cell .no-contact{color:var(--text-secondary)}.type-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500;background:#667eea1a;color:#667eea}.status-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%}.status-dot.active:before{background:#10b981}.status-dot.inactive:before{background:#6b7280}.status-dot.active{color:#10b981}.status-dot.inactive{color:#6b7280}.actions-cell{display:flex;gap:8px;align-items:center;white-space:nowrap}.text-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.text-btn.view{background:#3b82f61a;color:#3b82f6}.text-btn.view:hover{background:#3b82f633}.text-btn.edit{background:#667eea1a;color:#667eea}.text-btn.edit:hover{background:#667eea33}.text-btn.delete{background:#ef44441a;color:#ef4444}.text-btn.delete:hover{background:#ef444433}.empty-state{text-align:center;padding:60px 20px!important}.empty-content{display:flex;flex-direction:column;align-items:center;gap:8px}.empty-icon{font-size:40px}.empty-content p{margin:0;font-size:16px;font-weight:500;color:var(--text-primary)}.empty-content small{color:var(--text-secondary)}.partner-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;color:#fff}.partner-info{flex:1}.partner-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary)}.partner-type{font-size:12px;color:var(--text-secondary)}.partner-status{padding:4px 8px;border-radius:20px;font-size:11px;font-weight:500;text-transform:uppercase}.partner-status.active{background:#10b9811a;color:#10b981}.partner-details{display:grid;gap:12px;margin-bottom:20px;padding-top:16px;border-top:1px solid var(--border-color)}.detail-item{display:flex;justify-content:space-between;font-size:13px}.detail-item .label{color:var(--text-secondary)}.detail-item .value{color:var(--text-primary);font-weight:500}.partner-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.action-btn{padding:8px;border-radius:6px;border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--primary-color);color:#fff}.action-btn.secondary{border-color:var(--border-color);color:var(--text-secondary)}.action-btn.secondary:hover{border-color:var(--text-secondary);color:var(--text-primary);background:transparent}.partners-loading,.partners-error{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary)}.partners-error{color:#ef4444}.invitation-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500}.invitation-badge.not_sent{background:#6b728026;color:#6b7280}.invitation-badge.pending{background:#f59e0b26;color:#f59e0b}.invitation-badge.accepted{background:#10b98126;color:#10b981}@media (max-width: 768px){.partners-page{padding:16px}.partners-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}.add-partner-btn{width:100%;justify-content:center}.partners-grid{grid-template-columns:1fr;gap:16px}.partner-card{padding:16px}}.modal-content{background:#fff;padding:32px;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040}.modal-content h2{margin:0 0 24px;font-size:22px;font-weight:600;color:#111827;border-bottom:1px solid #e5e7eb;padding-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;font-size:14px;transition:all .2s ease}.form-group input:hover,.form-group select:hover{border-color:#9ca3af}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f126}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af;opacity:1}.connector-input-group{display:flex;gap:12px;align-items:center}.connector-input-group select{flex:1;color:#111827}.edit-connector-btn{padding:0 16px;height:44px;white-space:nowrap;background:#f3f4f6;border:1px solid #d1d5db;color:#374151;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.edit-connector-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.edit-connector-btn:disabled{opacity:.5;cursor:not-allowed}.form-group small{display:block;margin-top:6px;font-size:12px;color:#6b7280}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.cancel-btn{padding:10px 20px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#f3f4f6;border-color:#9ca3af}.save-btn{padding:10px 24px;border-radius:8px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #6366f14d}.save-btn:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 8px #6366f166;transform:translateY(-1px)}.save-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-large{max-width:720px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;margin-bottom:24px}.form-grid .form-group{margin-bottom:0}.form-grid .form-group.full-width{grid-column:1 / -1}.toggle-group{display:flex;align-items:center;gap:12px;color:#374151;font-weight:500}.toggle-switch{position:relative;display:inline-block;width:48px;height:24px;margin:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#4b5563;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#10b981}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.action-btn.danger{border-color:#ef4444;color:#ef4444}.action-btn.danger:hover{background:#ef4444;color:#fff}.partner-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.partner-card.inactive{opacity:.7;background:#1f2937}.partner-card.inactive .partner-icon{background:linear-gradient(135deg,#6b7280,#9ca3af)}.partner-status.inactive{background:#6b728033;color:#9ca3af}@media (max-width: 768px){.form-grid,.partner-actions{grid-template-columns:1fr}.modal-large{max-width:100%;margin:16px}}.partner-modal{background:#fff;border-radius:20px;width:100%;max-width:760px;max-height:95vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 60px -15px #0000004d}.partner-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2)}.partner-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.partner-modal .modal-close{background:#fff3;border:none;padding:8px;border-radius:8px;cursor:pointer;color:#fff;transition:all .2s}.partner-modal .modal-close:hover{background:#ffffff4d}.partner-modal .modal-body{padding:24px 28px;overflow-y:auto;flex:1}.form-section{margin-bottom:28px}.form-field input,.form-field select{padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;color:#111827;background:#f9fafb;transition:all .2s}.form-field input:hover,.form-field select:hover{border-color:#9ca3af}.form-field input:focus,.form-field select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea26}.form-field input::placeholder{color:#9ca3af}.connector-select-group{display:flex;gap:10px}.connector-select-group select{flex:1}.connector-edit-btn{padding:12px 18px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:10px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.connector-edit-btn:hover{background:#e5e7eb;border-color:#9ca3af}.status-toggle{display:flex;background:#f3f4f6;border-radius:10px;padding:4px}.status-btn{flex:1;padding:10px 16px;border:none;background:transparent;border-radius:8px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s}.status-btn.active{background:#10b981;color:#fff;box-shadow:0 2px 4px #10b9814d}.status-btn.inactive{background:#ef4444;color:#fff;box-shadow:0 2px 4px #ef44444d}.partner-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid #e5e7eb;background:#f9fafb}.btn-save{padding:12px 28px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea66}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #667eea80}.btn-save:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 640px){.partner-modal{max-width:100%;max-height:100vh;border-radius:0}.form-row{grid-template-columns:1fr}.partner-modal .modal-header,.partner-modal .modal-body,.partner-modal .modal-footer{padding-left:20px;padding-right:20px}}.partner-details-modal{background:#fff;border-radius:20px;width:100%;max-width:640px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 60px -15px #0000004d}.partner-details-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2)}.partner-details-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.partner-details-modal .modal-close{background:#fff3;border:none;padding:8px;border-radius:8px;cursor:pointer;color:#fff;transition:all .2s}.partner-details-modal .modal-close:hover{background:#ffffff4d}.partner-details-modal .modal-body{padding:24px 28px;overflow-y:auto;flex:1}.partner-details-modal .form-section{margin-bottom:24px}.partner-details-modal .form-section:last-child{margin-bottom:0}.partner-details-modal .section-header{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:14px;font-weight:600;color:#374151}.partner-details-modal .section-icon{font-size:16px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.details-grid .detail-item{display:flex;flex-direction:column;gap:4px}.details-grid .detail-item.full-width{grid-column:1 / -1}.details-grid .label{font-size:11px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.details-grid .value{font-size:14px;color:#111827;font-weight:500}.details-grid .value.monospace{font-family:JetBrains Mono,monospace}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:500;width:fit-content}.status-badge.active{background:#10b98126;color:#10b981}.status-badge.inactive{background:#6b728026;color:#6b7280}.partner-details-modal .modal-footer{display:flex;justify-content:flex-end;padding:20px 28px;border-top:1px solid #e5e7eb;background:#f9fafb}.btn-close{padding:12px 28px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea66}.btn-close:hover{transform:translateY(-1px);box-shadow:0 6px 16px #667eea80}@media (max-width: 640px){.partner-details-modal{max-width:100%;border-radius:0}.details-grid{grid-template-columns:1fr}}.as2-routing-page{padding:24px;max-width:1100px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{margin:0;font-size:24px;font-weight:700;color:var(--text-primary)}.page-header .subtitle{margin:4px 0 0;font-size:14px;color:var(--text-secondary)}.primary-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #667eea66}.primary-btn.small{padding:8px 16px;font-size:13px}.search-bar{display:flex;align-items:center;gap:10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;margin-bottom:20px;max-width:320px}.search-bar svg{color:var(--text-secondary);flex-shrink:0}.search-bar input{border:none;background:transparent;font-size:14px;color:var(--text-primary);width:100%;outline:none}.routes-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.routes-table{width:100%;border-collapse:collapse}.routes-table th,.routes-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.routes-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background:var(--bg-primary)}.routes-table tbody tr:last-child td{border-bottom:none}.routes-table tbody tr:hover{background:#667eea08}.partner-cell .partner-name{font-weight:600;color:var(--text-primary)}.partner-sgln{display:block;font-size:11px;color:var(--text-secondary);margin-top:2px;font-family:monospace}.arrow-cell{width:40px;text-align:center;font-size:18px;color:#667eea}.connector-badge{display:inline-block;padding:4px 10px;background:#667eea1a;color:#667eea;border-radius:20px;font-size:12px;font-weight:500}.desc-cell{color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions-cell{display:flex;gap:8px}.action-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.action-btn.edit{background:#667eea1a;color:#667eea}.action-btn.edit:hover{background:#667eea33}.action-btn.delete{background:#ef44441a;color:#ef4444}.action-btn.delete:hover{background:#ef444433}.empty-cell{text-align:center;padding:48px 20px!important}.empty-state{display:flex;flex-direction:column;align-items:center;gap:12px}.empty-state span{font-size:40px}.empty-state p{margin:0;color:var(--text-secondary)}.routing-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;box-shadow:0 20px 50px #00000040}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#fff}.close-btn{background:#fff3;border:none;font-size:20px;color:#fff;cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff4d}.modal-body{padding:24px}.route-flow-visual{display:flex;align-items:center;gap:12px;padding:16px;background:#f8fafc;border-radius:12px;margin-bottom:24px}.flow-box{flex:1;padding:12px;background:#fff;border:2px dashed #e5e7eb;border-radius:10px;text-align:center}.flow-box.filled{border:2px solid #667eea;background:#667eea0d}.flow-box.sender.filled{border-color:#10b981;background:#10b9810d}.flow-box.receiver.filled{border-color:#3b82f6;background:#3b82f60d}.flow-label{display:block;font-size:10px;font-weight:600;text-transform:uppercase;color:#9ca3af;margin-bottom:4px}.flow-value{font-size:14px;font-weight:600;color:#374151}.flow-box:not(.filled) .flow-value{color:#9ca3af;font-weight:400}.flow-arrow{font-size:24px;color:#667eea;font-weight:700}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.form-group label .optional{font-weight:400;color:#9ca3af}.form-group input,.form-group select{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#667eea}.partner-selector{position:relative}.selected-partner{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#667eea14;border:1px solid rgba(102,126,234,.2);border-radius:10px}.selected-partner span{font-weight:600;color:#374151}.selected-partner button{background:none;border:none;color:#667eea;font-size:13px;font-weight:500;cursor:pointer}.selected-partner button:hover{text-decoration:underline}.dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 25px #00000026;z-index:100;margin-top:4px;max-height:200px;overflow-y:auto}.dropdown-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;border-bottom:1px solid #f3f4f6}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#667eea0d}.item-name{font-weight:500;color:#374151}.item-gln{font-size:11px;color:#9ca3af;font-family:monospace}.dropdown-empty{padding:16px;text-align:center;color:#9ca3af;font-size:13px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 16px 16px}.cancel-btn{padding:10px 18px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer}.cancel-btn:hover{background:#f9fafb}.save-btn{padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;font-size:14px;font-weight:600;color:#fff;cursor:pointer}.save-btn:disabled{opacity:.5;cursor:not-allowed}.loading,.error{display:flex;justify-content:center;align-items:center;min-height:300px;color:var(--text-secondary)}.connectors-page{padding:24px}.connectors-header{margin-bottom:32px}.connectors-header h1{font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.connectors-header .subtitle{color:var(--text-secondary);font-size:14px;margin:0}.connectors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:24px}.connector-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all .2s}.connector-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000d;border-color:var(--primary-color)}.connector-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.connector-icon{width:48px;height:48px;background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.connector-info{flex:1;min-width:0}.connector-info h3{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connector-id{font-size:11px;color:var(--text-secondary);font-family:monospace;background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.connector-status{padding:4px 8px;border-radius:20px;font-size:11px;font-weight:500;text-transform:uppercase;background:#10b9811a;color:#10b981}.connector-details{display:grid;gap:12px;margin-bottom:20px;padding-top:16px;border-top:1px solid var(--border-color)}.connector-details .detail-item{display:flex;flex-direction:column;gap:4px;font-size:13px}.connector-details .label{color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.connector-details .value{color:var(--text-primary);font-weight:500}.connector-details .value.url{font-family:monospace;font-size:12px;word-break:break-all}.connector-actions{display:flex;gap:12px}.connector-actions .action-btn.primary{flex:1;padding:10px;border-radius:8px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.connector-actions .action-btn.primary:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 8px #6366f14d}.connectors-loading,.connectors-error{display:flex;justify-content:center;align-items:center;min-height:400px;color:var(--text-secondary)}.connectors-error{color:#ef4444}.no-connectors{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--text-secondary);background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-color)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:20px}.connector-modal{background:#fff;border-radius:20px;width:100%;max-width:600px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 60px -15px #0000004d}.connector-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#10b981,#059669)}.connector-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.connector-modal .modal-close{background:#fff3;border:none;padding:8px;border-radius:8px;cursor:pointer;color:#fff;transition:all .2s}.connector-modal .modal-close:hover{background:#ffffff4d}.connector-modal .modal-body{padding:24px 28px;overflow-y:auto;flex:1}.form-section{margin-bottom:24px}.form-section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:14px;font-weight:600;color:#374151}.section-icon{font-size:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row.single{grid-template-columns:1fr}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:13px;font-weight:500;color:#4b5563}.form-field .required{color:#ef4444}.form-field input,.form-field select,.form-field textarea{padding:12px 14px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;color:#111827;background:#f9fafb;transition:all .2s}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#9ca3af}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#10b981;background:#fff;box-shadow:0 0 0 3px #10b98126}.form-field input::placeholder,.form-field textarea::placeholder{color:#9ca3af}.form-field .disabled-input{background:#e5e7eb;color:#6b7280;cursor:not-allowed}.field-hint{font-size:11px;color:#9ca3af;margin-top:2px}.connector-modal .modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;border-top:1px solid #e5e7eb;background:#f9fafb}.btn-cancel{padding:12px 24px;border:1px solid #d1d5db;background:#fff;border-radius:10px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.btn-save{padding:12px 28px;border:none;background:linear-gradient(135deg,#10b981,#059669);border-radius:10px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #10b98166}.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #10b98180}.btn-save:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 768px){.connectors-page{padding:16px}.connectors-grid{grid-template-columns:1fr}.connector-modal{max-width:100%;border-radius:0}.form-row{grid-template-columns:1fr}}.as2-metrics-page{padding:24px;max-width:1200px;margin:0 auto}.metrics-header{margin-bottom:32px}.metrics-header h1{margin:0;font-size:28px;font-weight:700;color:#1e293b}.metrics-header .subtitle{margin:4px 0 0;font-size:16px;color:#64748b}.metrics-grid{display:grid;gap:24px;margin-bottom:24px}.metrics-grid.summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.metrics-grid.charts{grid-template-columns:repeat(2,1fr)}.main-trend{grid-column:span 2}.metric-card{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 15px #0000000d;text-align:center;transition:transform .2s}.metric-card:hover{transform:translateY(-2px)}.metric-card h3{margin:0 0 12px;font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.metric-card .value{font-size:36px;font-weight:700;color:#1e293b;margin:8px 0}.success-rates{display:flex;flex-direction:column;gap:12px;margin-top:16px}.rate-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f8fafc;border-radius:8px}.rate-label{font-size:14px;font-weight:600;color:#64748b}.rate-value{font-size:18px;font-weight:700;color:#6366f1}.metric-card .label{margin-top:8px;font-size:12px;color:#94a3b8}.chart-container{background:#fff;padding:24px;border-radius:16px;box-shadow:0 4px 15px #0000000d}.chart-container h3{margin:0 0 20px;font-size:16px;font-weight:600;color:#1e293b}.chart-wrapper{height:300px;position:relative}.chart-wrapper.doughnut{height:250px}@media (max-width: 1024px){.metrics-grid.charts{grid-template-columns:1fr}.main-trend{grid-column:span 1}}.loading,.error{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:18px;color:#64748b}.error{color:#ef4444}.file-transmissions-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.header-title h1{margin:0;font-size:28px;font-weight:700;color:#1e293b}.header-title .subtitle{margin:4px 0 0;font-size:16px;color:#64748b}.refresh-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000000d}.refresh-btn:hover{background:#f8fafc;border-color:#cbd5e1}.filters-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;background:#fff;padding:16px;border-radius:12px;box-shadow:0 2px 10px #00000008}.search-input{flex:1;display:flex;align-items:center;gap:12px;background:#f1f5f9;padding:10px 16px;border-radius:10px;border:1px solid transparent;transition:all .2s}.search-input:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.search-input svg{color:#94a3b8}.search-input input{width:100%;border:none;background:transparent;outline:none;font-size:14px;color:#1e293b}.filter-group{display:flex;gap:12px}.filter-group select{padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#475569;outline:none;cursor:pointer;transition:all .2s}.filter-group select:hover{border-color:#cbd5e1}.table-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000d;overflow:hidden}.transmissions-table{width:100%;border-collapse:collapse}.transmissions-table th{background:#f8fafc;padding:16px;text-align:left;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;border-bottom:1px solid #f1f5f9}.transmissions-table td{padding:16px;font-size:14px;color:#334155;border-bottom:1px solid #f1f5f9}.clickable-row{cursor:pointer;transition:background .2s}.clickable-row:hover{background:#f8fafc}.direction-tag{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase}.direction-tag.inbound{background:#ecfdf5;color:#059669}.direction-tag.outbound{background:#eff6ff;color:#2563eb}.badge{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500}.badge-success{background:#dcfce7;color:#166534}.badge-info{background:#e0f2fe;color:#0369a1}.badge-danger{background:#fee2e2;color:#991b1b}.badge-warning{background:#fef3c7;color:#92400e}.filename-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:monospace;color:#6366f1}.actions-cell{display:flex;gap:8px;align-items:center}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .2s}.icon-btn:hover{background:#f1f5f9;color:#6366f1;border-color:#6366f1}.view-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f1f5f9;border:none;border-radius:6px;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s}.view-btn:hover{background:#e2e8f0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-minimal{background:#fff;border-radius:16px;width:480px;max-width:100%;padding:32px;position:relative;box-shadow:0 8px 32px #0000001f}.close-x{position:absolute;top:20px;right:20px;background:#f3f4f6;border:none;font-size:20px;color:#6b7280;cursor:pointer;line-height:1;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-x:hover{background:#e5e7eb;color:#374151}.modal-top{margin-bottom:28px}.status-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.direction-pill{font-size:11px;font-weight:600;padding:4px 12px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.direction-pill.inbound{background:#d1fae5;color:#065f46}.direction-pill.outbound{background:#dbeafe;color:#1e40af}.filename-display{font-size:18px;font-weight:700;color:#111827;margin-bottom:12px;word-break:break-all;line-height:1.4}.meta-row{font-size:13px;color:#6b7280;display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:1.6}.meta-row .separator{color:#d1d5db}.meta-row .arrow{color:#9ca3af;font-size:14px}.download-row{display:flex;gap:12px;align-items:center;padding:24px 0 0;margin-top:4px;border-top:1px solid #e5e7eb}.dl-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .2s}.dl-btn.xml{background:#4f46e5;color:#fff}.dl-btn.xml:hover{background:#4338ca;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e54d}.dl-btn.mdn{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.dl-btn.mdn:hover{background:#e5e7eb;border-color:#d1d5db}.mdn-unavailable{font-size:13px;color:#9ca3af;font-style:italic;padding:10px 0}.error-notice{margin-top:24px;padding:14px 16px;background:#fef2f2;border-radius:8px;font-size:13px;color:#b91c1c;border:1px solid #fecaca;line-height:1.5}.error-notice strong{color:#991b1b;margin-right:4px}.epcis-filters-bar{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding:12px 16px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:12px;border:1px solid #bbf7d0}.epcis-filter-input{flex:1;display:flex;align-items:center;gap:10px;background:#fff;padding:10px 14px;border-radius:8px;border:1px solid #d1fae5;transition:all .2s}.epcis-filter-input:focus-within{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.epcis-filter-input svg{color:#10b981;flex-shrink:0}.epcis-filter-input input{width:100%;border:none;background:transparent;outline:none;font-size:14px;color:#1e293b}.epcis-filter-input input::placeholder{color:#94a3b8}.clear-filters-btn{padding:10px 16px;background:#fff;border:1px solid #fca5a5;border-radius:8px;font-size:13px;font-weight:500;color:#dc2626;cursor:pointer;transition:all .2s;white-space:nowrap}.clear-filters-btn:hover{background:#fef2f2;border-color:#f87171}.lot-cell,.po-cell{font-size:13px;color:#475569;font-family:monospace}.lot-cell:not(:empty),.po-cell:not(:empty){color:#059669;font-weight:500}.epcis-info-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.epcis-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:13px}.epcis-tag.lot{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.epcis-tag.po{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.epcis-tag strong{font-weight:600}.relay-overview{padding:24px;max-width:1600px;margin:0 auto}.page-header{margin-bottom:32px}.page-header h1{font-size:24px;font-weight:600;color:#111827;margin:0 0 8px}.subtitle{color:#6b7280;font-size:14px;margin:0}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:32px}.metric-card{background:#fff;padding:24px;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d}.metric-title{color:#6b7280;font-size:14px;font-weight:500;margin-bottom:8px}.metric-value{font-size:28px;font-weight:700;color:#111827;margin-bottom:8px}.metric-change{font-size:13px;font-weight:500}.metric-change.positive{color:#10b981}.metric-change.negative{color:#ef4444}.metric-status{font-size:13px;color:#10b981;font-weight:500}.content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));gap:24px}.content-section{background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000d;overflow:hidden}.section-header{padding:20px 24px;border-bottom:1px solid #e5e7eb}.section-header h2{font-size:16px;font-weight:600;color:#111827;margin:0}.table-container{overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:12px 24px;background:#f9fafb;color:#6b7280;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb}.data-table td{padding:16px 24px;border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px}.data-table tr:last-child td{border-bottom:none}.font-medium{font-weight:500;color:#111827}.text-muted{color:#6b7280}.code-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:#6366f1;background:#eef2ff;padding:2px 6px;border-radius:4px}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:12px;font-weight:500;text-transform:capitalize}.status-badge.active{background:#d1fae5;color:#065f46}.status-badge.inactive{background:#f3f4f6;color:#374151}.status-badge.deprecated{background:#fee2e2;color:#991b1b}.error-count{font-weight:500}.error-count.has-errors{color:#ef4444}.settings-container{padding:2rem;max-width:1200px;margin:0 auto}.settings-header{margin-bottom:2rem}.settings-header h1{font-size:2rem;color:var(--text-primary, #1a1a1a);margin-bottom:.5rem}.settings-header p{color:var(--text-secondary, #666)}.settings-section{margin-bottom:2rem}.settings-section h2{font-size:1.25rem;color:var(--text-primary, #1a1a1a);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color, #e5e5e5)}.settings-card{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e5e5e5);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000000d}.settings-field{margin-bottom:1.5rem}.settings-field:last-child{margin-bottom:0}.settings-field label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary, #666);margin-bottom:.5rem}.field-value{font-size:1rem;color:var(--text-primary, #1a1a1a);padding:.5rem 0}.settings-link{color:var(--primary-color, #4f46e5);text-decoration:none;font-weight:500}.settings-link:hover{text-decoration:underline}.code-font{font-family:Courier New,Courier,monospace;background:var(--bg-secondary, #f5f5f5);padding:.25rem .5rem;border-radius:4px;display:inline-block}.settings-loading,.settings-error{padding:2rem;text-align:center;color:var(--text-secondary, #666)}.settings-error{color:var(--error-color, #dc2626)}.intake-container{padding:2rem;max-width:800px;margin:0 auto}.intake-header{margin-bottom:2rem}.intake-header h1{font-size:2rem;color:var(--text-primary, #1a1a1a);margin-bottom:.5rem}.intake-header p{color:var(--text-secondary, #666)}.intake-content{background:var(--bg-card, #ffffff);border:1px solid var(--border-color, #e5e5e5);border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000000d}.intake-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1a1a1a)}.form-group input{padding:.75rem;border:1px solid var(--border-color, #e5e5e5);border-radius:6px;font-size:1rem;background:var(--bg-input, #fff)}.form-group input:focus{outline:none;border-color:var(--primary-color, #4f46e5);box-shadow:0 0 0 2px #4f46e51a}.submit-btn{padding:.75rem;background:var(--primary-color, #4f46e5);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:1rem}.submit-btn:hover:not(:disabled){background:var(--primary-hover, #4338ca)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.intake-error{margin-top:1.5rem;padding:1rem;background:#fef2f2;border:1px solid #fee2e2;border-radius:6px;color:#dc2626;font-size:.875rem}.intake-success{margin-top:2rem;padding:1.5rem;background:#f0fdf4;border:1px solid #dcfce7;border-radius:8px;color:#166534}.intake-success h3{margin-bottom:1rem;color:#15803d}.result-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.result-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #dcfce7}.result-row:last-child{border-bottom:none}.code-font{font-family:Courier New,Courier,monospace;background:#fff;padding:.25rem .5rem;border-radius:4px;border:1px solid #dcfce7}.warning-note{font-size:.875rem;font-style:italic;color:#15803d;background:#fff;padding:.75rem;border-radius:6px;border-left:4px solid #22c55e}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary, #f8fafc);padding:1.5rem}.onboarding-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:100%;max-width:450px}.onboarding-header{text-align:center;margin-bottom:2rem}.onboarding-header h1{font-size:1.875rem;font-weight:700;color:var(--text-primary, #1e293b);margin-bottom:.5rem}.onboarding-header p{color:var(--text-secondary, #64748b);font-size:.875rem}.onboarding-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b)}.form-group input{padding:.75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:var(--primary-color, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.user-preview{padding:1rem;background:var(--bg-secondary, #f1f5f9);border-radius:8px}.user-preview label{font-size:.75rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.025em;display:block;margin-bottom:.25rem}.preview-value{font-size:.875rem;color:var(--text-primary, #1e293b);font-weight:500}.onboarding-btn{padding:.75rem;background:var(--primary-color, #4f46e5);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;margin-top:.5rem}.onboarding-btn:hover:not(:disabled){background:var(--primary-hover, #4338ca)}.onboarding-btn:disabled{opacity:.6;cursor:not-allowed}.onboarding-error{margin-top:1.5rem;padding:.75rem;background:#fef2f2;border:1px solid #fee2e2;border-radius:8px;color:#dc2626;font-size:.875rem;text-align:center}.onboarding-loading{height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #64748b);font-size:1.125rem}.epcis-validator-page{padding:24px;max-width:1200px;margin:0 auto}.page-header{margin-bottom:24px}.page-header h1{margin:0;font-size:28px;font-weight:700;color:#1e293b}.page-header .subtitle{margin:4px 0 0;color:#64748b;font-size:15px}.validator-container{display:flex;flex-direction:column;gap:20px}.input-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.input-header h3{margin:0;font-size:14px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.input-actions{display:flex;gap:8px}.upload-btn,.sample-btn,.clear-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid #e2e8f0;background:#fff;color:#475569;transition:all .2s}.upload-btn:hover,.sample-btn:hover{background:#f8fafc;border-color:#cbd5e1}.clear-btn{color:#ef4444}.clear-btn:hover{background:#fef2f2;border-color:#fca5a5}.xml-input{width:100%;min-height:300px;padding:16px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;line-height:1.6;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#1e293b;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s}.xml-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a;background:#fff}.xml-input::placeholder{color:#94a3b8}.controls-section{display:flex;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000001a}.validation-type{display:flex;align-items:center;gap:16px}.validation-type>label{font-size:13px;font-weight:600;color:#64748b}.radio-group{display:flex;gap:8px}.radio-group label{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:13px;color:#475569;cursor:pointer;border:1px solid #e2e8f0;transition:all .2s}.radio-group label input{display:none}.radio-group label.active{background:#eef2ff;border-color:#6366f1;color:#4f46e5}.validate-btn{padding:12px 28px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.validate-btn:hover:not(:disabled){background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.validate-btn:disabled{opacity:.5;cursor:not-allowed}.results-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.result-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:10px;margin-bottom:20px}.result-header.valid{background:#ecfdf5}.result-header.invalid{background:#fef2f2}.result-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:18px;font-weight:700}.result-header.valid .result-icon{background:#10b981;color:#fff}.result-header.invalid .result-icon{background:#ef4444;color:#fff}.result-text{font-size:18px;font-weight:700}.result-header.valid .result-text{color:#065f46}.result-header.invalid .result-text{color:#991b1b}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:20px}.info-card{background:#f8fafc;padding:14px;border-radius:8px;border:1px solid #e2e8f0}.info-card.wide{grid-column:span 2}.info-label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;margin-bottom:4px}.info-value{font-size:18px;font-weight:700;color:#1e293b}.event-types{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.event-type-badge{padding:4px 10px;background:#e0e7ff;color:#4338ca;border-radius:12px;font-size:12px;font-weight:500}.issues-list{margin-top:16px;border-radius:10px;overflow:hidden}.issues-list h4{margin:0;padding:12px 16px;font-size:14px;font-weight:600}.issues-list.errors h4{background:#fef2f2;color:#991b1b}.issues-list.warnings h4{background:#fffbeb;color:#92400e}.issue-item{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid #f1f5f9;align-items:center}.issue-item:last-child{border-bottom:none}.issue-item.error,.issue-item.warning{background:#fff}.issue-type{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.issue-item.error .issue-type{background:#fee2e2;color:#b91c1c}.issue-item.warning .issue-type{background:#fef3c7;color:#92400e}.issue-message{flex:1;font-size:13px;color:#334155}.issue-location{font-size:11px;color:#64748b;font-family:monospace}@media (max-width: 768px){.controls-section{flex-direction:column;gap:16px;align-items:stretch}.validation-type{flex-direction:column;align-items:flex-start}.validate-btn{width:100%}.info-grid{grid-template-columns:1fr 1fr}.info-card.wide{grid-column:span 2}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f6fa;min-height:100vh;overflow-x:hidden}.app{display:flex;min-height:100vh}.main-content{flex:1;margin-left:260px;width:calc(100% - 260px);overflow-x:auto}.top-header{background:#fff;height:64px;display:flex;align-items:center;padding:0 32px;box-shadow:0 1px 3px #0000000d;position:sticky;top:0;z-index:100;border-bottom:1px solid #e5e7eb}.breadcrumb{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:.875rem}.breadcrumb-separator{color:#d1d5db}.breadcrumb-current{color:#111827;font-weight:600}.header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.time-selector{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fff;border-radius:6px;font-size:.875rem;color:#374151;border:1px solid #d1d5db;cursor:pointer;transition:all .2s}.time-selector:hover{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.search-box{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb;transition:all .2s;width:300px}.search-box:focus-within{border-color:#6366f1;background:#fff;box-shadow:0 0 0 3px #6366f11a}.search-box input{border:none;background:none;outline:none;flex:1;font-size:.875rem;color:#111827}.notification-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;border:1px solid #e5e7eb;cursor:pointer;position:relative;transition:all .2s}.notification-btn:hover{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background:#ef4444;border-radius:50%;border:2px solid white}.tabs-nav{display:flex;gap:8px;padding:20px 32px;background:#fff;border-bottom:1px solid #e5e7eb}.tab-btn{padding:10px 20px;background:transparent;border:none;border-radius:6px;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s;position:relative}.tab-btn:hover{background:#f3f4f6;color:#111827}.tab-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.tab-content{padding:32px;background:#f5f6fa;min-height:calc(100vh - 128px);display:none}.tab-content.active{display:block}.tab-content:has(.metabase-analytics-container){padding:0!important;background:#f5f6fa!important;min-height:calc(100vh - 128px)}.tab-content.active .metabase-analytics-container{margin:0;height:100%;min-height:calc(100vh - 128px);width:100%}.alert{padding:14px 20px;border-radius:8px;margin-bottom:24px;display:flex;align-items:center;gap:12px;font-size:.875rem;font-weight:500}.alert svg{width:20px;height:20px;flex-shrink:0}.alert-success{background:linear-gradient(135deg,#10b9811a,#0596691a);color:#047857;border:1px solid rgba(16,185,129,.2)}.mobile-header{display:none;height:60px;background:#1a1d23;align-items:center;padding:0 16px;position:fixed;top:0;left:0;right:0;z-index:900;box-shadow:0 2px 8px #00000026}.mobile-menu-toggle{background:transparent;border:none;color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:12px}.mobile-menu-toggle svg{width:24px;height:24px}.mobile-logo{color:#fff;font-weight:700;font-size:1.25rem;letter-spacing:1px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:950;opacity:0;visibility:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-overlay.open{opacity:1;visibility:visible}.mobile-close-btn{display:none;background:transparent;border:none;color:#fff9;width:32px;height:32px;align-items:center;justify-content:center;cursor:pointer;margin-left:auto}.mobile-close-btn:hover{color:#fff;background:#ffffff1a;border-radius:6px}.mobile-close-btn svg{width:20px;height:20px}@media (max-width: 768px){.main-content{margin-left:0;width:100%;padding-top:60px}.top-header{display:none}.mobile-header,.mobile-close-btn{display:flex}.search-box{width:100%}.tabs-nav{padding:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-content{padding:16px}.sidebar{width:280px;box-shadow:4px 0 24px #0003;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f6fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{margin:0;padding:0;box-sizing:border-box}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}#root{width:100%;min-height:100vh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}::selection{background:#6366f133;color:#111827}*:focus-visible{outline:2px solid #6366f1;outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}@media (prefers-color-scheme: dark){:root{color:#213547;background-color:#f5f6fa}}
