:root{--color-bg:#f9fafb;--color-surface:#fff;--color-text-primary:#1f242e;--color-text-secondary:#676f7e;--color-text-muted:#9da3af;--color-border:#e2e4e9;--color-brand-primary:#24478f;--color-brand-accent:#228ec3;--color-status-compliant:#267340;--color-status-compliant-bg:#edf7f1;--color-status-warning:#9c7016;--color-status-warning-bg:#fbf5e9;--color-status-violation:#a82424;--color-status-violation-bg:#fbefef;--font-family:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--rounded-sm:4px;--rounded-md:6px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}input,button,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--color-brand-accent);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-container{max-width:1200px;padding:var(--spacing-lg);margin:0 auto}.header{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.header h1{font-size:var(--typography-scale-h1);color:var(--color-brand-primary);align-items:center;gap:var(--spacing-sm);font-weight:700;display:flex}.network-badge{background-color:var(--color-brand-primary);color:var(--color-surface);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--rounded-sm);font-size:var(--typography-scale-caption);font-weight:600}.network-badge.disconnected{background-color:var(--color-status-violation)}.main-grid{gap:var(--spacing-lg);grid-template-columns:1fr;display:grid}@media (width>=768px){.main-grid{grid-template-columns:2fr 1fr}}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--rounded-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.card h2{font-size:var(--typography-scale-h2);color:var(--color-text-primary);margin-bottom:var(--spacing-md);align-items:center;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-xs);font-weight:600;display:flex}.form-group{margin-bottom:var(--spacing-md);gap:var(--spacing-xs);flex-direction:column;display:flex}.form-group label{color:var(--color-text-primary);font-weight:600}.form-group input,.form-group textarea,.form-group select{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--rounded-sm);background-color:var(--color-bg);width:100%}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:2px solid var(--color-brand-accent)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--rounded-sm);background-color:var(--color-brand-primary);color:var(--color-surface);border:none;font-weight:600;transition:opacity .2s;display:inline-flex}.btn:hover{opacity:.9}.btn:disabled{background-color:var(--color-text-muted);cursor:not-allowed}.btn-secondary{border:1px solid var(--color-brand-primary);color:var(--color-brand-primary);background-color:#0000}.status-badge{align-items:center;gap:var(--spacing-xs);border-radius:var(--rounded-sm);font-weight:600;font-size:var(--typography-scale-caption);text-transform:uppercase;padding:4px 8px;display:inline-flex}.status-badge.compliant{background-color:var(--color-status-compliant-bg);color:var(--color-status-compliant)}.status-badge.warning{background-color:var(--color-status-warning-bg);color:var(--color-status-warning)}.status-badge.violation{background-color:var(--color-status-violation-bg);color:var(--color-status-violation)}.status-badge.neutral{background-color:var(--color-bg);color:var(--color-text-secondary)}.campaign-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.campaign-row:last-child{border-bottom:none}.campaign-details-grid{gap:var(--spacing-md);margin-top:var(--spacing-md);grid-template-columns:1fr;display:grid}@media (width>=600px){.campaign-details-grid{grid-template-columns:1fr 1fr}}.campaign-detail-item{flex-direction:column;display:flex}.campaign-detail-label{font-size:var(--typography-scale-caption);color:var(--color-text-secondary);text-transform:uppercase;font-weight:600}.campaign-detail-value{font-size:var(--typography-scale-body);word-break:break-all;font-weight:500}.fixtures-bar{background-color:var(--color-surface);border:2px dashed var(--color-brand-accent);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--rounded-md)}.fixtures-grid{gap:var(--spacing-md);margin-top:var(--spacing-sm);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.fixture-card{border:1px solid var(--color-border);padding:var(--spacing-md);border-radius:var(--rounded-sm);cursor:pointer;background-color:var(--color-bg);transition:all .2s}.fixture-card:hover,.fixture-card.active{border-color:var(--color-brand-accent);background-color:var(--color-surface)}.fixture-card.active{box-shadow:0 0 0 2px var(--color-brand-accent)}.tx-visualizer{gap:var(--spacing-xs);padding:var(--spacing-md);background-color:var(--color-bg);border-radius:var(--rounded-sm);border-left:4px solid var(--color-brand-accent);margin-top:var(--spacing-md);flex-direction:column;display:flex}.tx-steps{margin-top:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex;position:relative}.tx-step{z-index:1;color:var(--color-text-secondary);flex-direction:column;align-items:center;font-size:10px;font-weight:600;display:flex}.tx-step-dot{background-color:var(--color-text-muted);border-radius:50%;width:12px;height:12px;margin-bottom:2px}.tx-step.active .tx-step-dot{background-color:var(--color-brand-accent);box-shadow:0 0 0 4px var(--color-status-compliant-bg)}.tx-step.completed .tx-step-dot{background-color:var(--color-status-compliant)}.tx-line{background-color:var(--color-text-muted);z-index:0;height:2px;position:absolute;top:5px;left:0;right:0}.tabs-header{gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg);display:flex}.tab-btn{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);background:0 0;border:none;border-bottom:2px solid #0000;font-weight:600}.tab-btn.active{color:var(--color-brand-primary);border-bottom-color:var(--color-brand-primary)}.audit-list{gap:var(--spacing-md);flex-direction:column;display:flex}.audit-item{border:1px solid var(--color-border);border-radius:var(--rounded-sm);padding:var(--spacing-md);background-color:var(--color-bg)}.audit-item-header{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.audit-findings{margin-top:var(--spacing-sm);padding-left:var(--spacing-md);font-size:var(--typography-scale-caption);color:var(--color-text-secondary)}
