:root,:root[data-theme=dark]{color-scheme:dark;--j-bg: #14112b;--j-bg-grad: linear-gradient(180deg, #19153a 0%, #120f27 55%, #14112b 100%);--j-surface: #1c1838;--j-surface-2: #242046;--j-surface-3: #302a5c;--j-shade: #0d0b20;--j-border: #3d3770;--j-border-subtle: #2b2650;--j-border-strong: #666097;--j-text: #fff8ee;--j-text-2: #ddd8f2;--j-text-muted: #a9a4cb;--j-text-faint: #9b96b8;--j-on-accent: #ffffff;--j-violet: #b7a3ff;--j-violet-strong: #6d28ff;--j-violet-soft: #cbbcff;--j-pink: #ff84bd;--j-cyan: #19d3f0;--j-blue: #72bbff;--j-success: #c6f432;--j-success-soft: #ddf98a;--j-warn: #ffb547;--j-danger: #ff869c;--j-danger-soft: #ffa3b5;--j-hard: #f47f7f;--j-soft: #f5a51d;--j-hard-fill: #ef4444;--j-soft-fill: #f59e0b;--j-shadow: 0 2px 0 rgba(0, 0, 0, .35);--j-shadow-pop: 4px 4px 0 #0a0818}:root[data-theme=light]{color-scheme:light;--j-bg: #fff8ee;--j-bg-grad: linear-gradient(180deg, #fffaf3 0%, #fff8ee 55%, #fff3e2 100%);--j-surface: #ffffff;--j-surface-2: #fbf6ee;--j-surface-3: #f1e9ff;--j-shade: #ede5f7;--j-border: #ddd3ee;--j-border-subtle: #ece5f5;--j-border-strong: #958bab;--j-text: #14112b;--j-text-2: #34305a;--j-text-muted: #5b5675;--j-text-faint: #66607a;--j-on-accent: #ffffff;--j-violet: #5920d1;--j-violet-strong: #6d28ff;--j-violet-soft: #5420d0;--j-pink: #980b4c;--j-cyan: #005a68;--j-blue: #14519a;--j-success: #2e5d03;--j-success-soft: #2f6108;--j-warn: #853d00;--j-danger: #9a0a2b;--j-danger-soft: #a50e30;--j-hard: #942929;--j-soft: #744800;--j-hard-fill: #ef4444;--j-soft-fill: #f59e0b;--j-shadow: 0 2px 0 color-mix(in srgb, var(--j-shade) 8%, transparent);--j-shadow-pop: 4px 4px 0 #14112b}@media (prefers-color-scheme: light){:root:not([data-theme]){color-scheme:light;--j-bg: #fff8ee;--j-bg-grad: linear-gradient(180deg, #fffaf3 0%, #fff8ee 55%, #fff3e2 100%);--j-surface: #ffffff;--j-surface-2: #fbf6ee;--j-surface-3: #f1e9ff;--j-shade: #ede5f7;--j-border: #ddd3ee;--j-border-subtle: #ece5f5;--j-border-strong: #958bab;--j-text: #14112b;--j-text-2: #34305a;--j-text-muted: #5b5675;--j-text-faint: #66607a;--j-violet: #5920d1;--j-violet-soft: #5420d0;--j-pink: #980b4c;--j-cyan: #005a68;--j-blue: #14519a;--j-success: #2e5d03;--j-success-soft: #2f6108;--j-warn: #853d00;--j-danger: #9a0a2b;--j-danger-soft: #a50e30;--j-hard: #942929;--j-soft: #744800;--j-hard-fill: #ef4444;--j-soft-fill: #f59e0b;--j-shadow: 0 2px 0 color-mix(in srgb, var(--j-shade) 8%, transparent);--j-shadow-pop: 4px 4px 0 #14112b}}:root{--j-font-display: "Bricolage Grotesque", "Inter", system-ui, sans-serif;--j-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}:root{--bg-primary: var(--j-bg);--bg-secondary: var(--j-surface);--bg-tertiary: var(--j-surface-2);--bg-elevated: var(--j-surface-3);--text-primary: var(--j-text);--text-secondary: var(--j-text-2);--text-muted: var(--j-text-muted);--text-placeholder: var(--j-text-faint);--border-color: var(--j-border);--border-subtle: var(--j-border-subtle);--accent-blue: var(--j-blue);--accent-blue-hover: var(--j-blue);--accent-green: var(--j-success);--accent-green-dim: var(--j-success);--accent-yellow: var(--j-warn);--accent-red: var(--j-danger);--accent-purple: var(--j-violet);--accent-orange: var(--j-warn);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--text-xs: 11px;--text-sm: 13px;--text-base: 14px;--text-md: 15px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 20px;--text-3xl: 24px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--shadow-sm: var(--j-shadow);--shadow-md: 0 2px 8px rgba(0, 0, 0, .25);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .3);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .25s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--j-font-body);background:var(--j-bg-grad) fixed;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}::selection{background:color-mix(in srgb,var(--j-blue) 30%,transparent);color:var(--text-primary)}.app{min-height:100vh;display:flex;flex-direction:column}.app-sidebar-layout{display:flex;flex-direction:column;min-height:100vh}.header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--space-3) var(--space-6);display:flex;justify-content:space-between;align-items:center;height:56px;position:sticky;top:0;z-index:100}.header-title{display:flex;align-items:center;gap:var(--space-3)}.header-title h1{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);letter-spacing:-.01em}.header-logo{color:var(--accent-blue);font-size:22px}.header-controls{display:flex;align-items:center;gap:var(--space-5)}.header-status{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.status-indicator{width:8px;height:8px;border-radius:50%;background-color:var(--accent-green)}.status-indicator.warning{background-color:var(--accent-yellow)}.status-indicator.error{background-color:var(--accent-red)}.app-body{display:flex;flex:1;min-height:0}.sidebar{width:220px;background:linear-gradient(180deg,var(--j-surface-2) 0%,var(--j-bg) 100%);display:flex;flex-direction:column;position:sticky;top:56px;height:calc(100vh - 56px);overflow-y:auto;overflow-x:hidden;flex-shrink:0;border-right:1px solid var(--border-color);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--j-text) 10%,transparent) transparent}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--j-text) 10%,transparent);border-radius:4px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:12px 10px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:9px 14px;background:transparent;border:none;color:var(--j-text-2);font-size:13px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .15s ease;text-align:left;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav-item:hover{background:color-mix(in srgb,var(--j-text) 8%,transparent);color:var(--j-text)}.sidebar-nav-item.active{background:color-mix(in srgb,var(--j-blue) 20%,transparent);color:var(--j-on-accent);border-left:3px solid var(--accent-blue);padding-left:11px}.sidebar-nav-icon{width:18px;text-align:center;flex-shrink:0;font-size:14px;opacity:.85}.sidebar-nav-icon svg,.sidebar-nav-icon .fa-icon{font-size:14px}.sidebar-nav-item.active .sidebar-nav-icon{opacity:1;color:var(--accent-blue)}.sidebar-nav-label{overflow:hidden;text-overflow:ellipsis}.nav{display:none}.main-content{flex:1;padding:2rem;overflow-y:auto;min-width:0}@media (max-width: 900px){.sidebar{width:56px}.sidebar-nav-label{display:none}.sidebar-nav-item{justify-content:center;padding:10px 0}.sidebar-nav-item.active{padding-left:0;border-left:none;border-bottom:2px solid var(--accent-blue)}.sidebar-nav-icon{font-size:16px}}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-5{grid-template-columns:repeat(5,1fr)}@media (max-width: 1200px){.grid-5,.grid-4{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.grid-5,.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-5,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.card{background-color:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border-color);overflow:hidden;transition:border-color var(--transition-fast)}.card:hover{border-color:var(--bg-elevated)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.card-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.card-body{padding:var(--space-5)}.card-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-color);background-color:var(--bg-tertiary)}.metric-card{padding:var(--space-5)}.metric-value{font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-1);color:var(--text-primary)}.metric-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3);font-weight:var(--font-medium)}.metric-change{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-medium)}.metric-change.positive{color:var(--accent-green)}.metric-change.negative{color:var(--accent-red)}.metric-change.neutral{color:var(--text-muted)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:9999px;font-size:var(--text-xs);font-weight:var(--font-medium)}.status-badge.healthy,.status-badge.active,.status-badge.success{background-color:color-mix(in srgb,var(--j-success) 15%,transparent);color:var(--accent-green)}.status-badge.warning,.status-badge.pending{background-color:color-mix(in srgb,var(--j-warn) 15%,transparent);color:var(--accent-yellow)}.status-badge.critical,.status-badge.error,.status-badge.failed{background-color:color-mix(in srgb,var(--j-danger) 15%,transparent);color:var(--accent-red)}.status-badge.info{background-color:color-mix(in srgb,var(--j-blue) 15%,transparent);color:var(--accent-blue)}.table-container{overflow-x:auto;border-radius:var(--radius-lg)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--border-subtle)}.table th{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;background-color:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.table td{font-size:var(--text-sm);color:var(--text-primary)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:color-mix(in srgb,var(--j-text) 3%,transparent)}.table tbody tr:hover td{color:var(--text-primary)}.chat-container{display:flex;flex-direction:column;height:100%;max-height:600px}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.chat-message{max-width:80%;padding:.75rem 1rem;border-radius:.75rem;font-size:.875rem;line-height:1.6}.chat-message.user{align-self:flex-end;background-color:var(--accent-blue);color:var(--j-on-accent)}.chat-message.agent{align-self:flex-start;background-color:var(--bg-tertiary)}.chat-message pre{background-color:color-mix(in srgb,var(--j-shade) 50%,transparent);padding:.5rem;border-radius:.25rem;overflow-x:auto;margin:.5rem 0}.chat-input-container{padding:1rem;border-top:1px solid var(--border-color);display:flex;gap:.75rem}.chat-input{flex:1;padding:.75rem 1rem;border-radius:.5rem;border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem}.chat-input:focus{outline:none;border-color:var(--accent-blue)}.chat-submit{padding:.75rem 1.5rem;border-radius:.5rem;border:none;background-color:var(--accent-blue);color:var(--j-on-accent);font-weight:500;cursor:pointer;transition:background-color .2s}.chat-submit:hover{background-color:var(--j-blue)}.chat-submit:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.chat-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem}.chat-suggestion{padding:.375rem .75rem;border-radius:9999px;border:1px solid var(--border-color);background-color:transparent;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s}.chat-suggestion:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted)}.spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background-color:#ef44441a;border:1px solid var(--accent-red);border-radius:.5rem;padding:1rem;color:var(--accent-red);font-size:.875rem}.text-right{text-align:right}.text-center{text-align:center}.font-mono{font-family:SF Mono,Monaco,Courier New,monospace}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.revenue-breakdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.breakdown-card{background:var(--bg-secondary);border-radius:.5rem;padding:1.25rem;border:1px solid var(--border-color)}.breakdown-card.cpm-card{border-left:4px solid var(--accent-blue)}.breakdown-card.non-cpm-card{border-left:4px solid var(--accent-purple)}.breakdown-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.breakdown-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.breakdown-percentage{font-size:.875rem;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:.25rem}.breakdown-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.cpm-card .breakdown-value{color:var(--accent-blue)}.non-cpm-card .breakdown-value{color:var(--accent-purple)}.breakdown-details{display:flex;gap:1rem;font-size:.75rem;color:var(--text-muted)}.breakdown-bar{display:flex;height:1.5rem;border-radius:.25rem;overflow:hidden;background:var(--bg-tertiary);margin-bottom:1.5rem}.breakdown-bar-cpm{background:linear-gradient(90deg,var(--accent-blue),var(--j-blue));transition:width .3s ease}.breakdown-bar-non-cpm{background:linear-gradient(90deg,var(--accent-purple),var(--j-violet));transition:width .3s ease}@media (max-width: 768px){.revenue-breakdown-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--j-shade) 100%,transparent);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border-color);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.modal-title h2{font-size:1.25rem;font-weight:600;margin:0}.modal-title .mailing-id{font-size:.75rem;color:var(--text-muted);margin-top:.25rem;display:block}.modal-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:background .2s,color .2s}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-loading,.modal-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;gap:1rem}.modal-error{color:var(--accent-red)}.campaign-details-modal .campaign-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.campaign-header h3{font-size:1.125rem;font-weight:600;margin:0 0 .5rem;word-break:break-word}.campaign-subject{display:flex;align-items:flex-start;gap:.5rem;color:var(--text-secondary);font-size:.875rem;margin:0 0 .75rem}.campaign-subject svg{flex-shrink:0;margin-top:.125rem}.campaign-status{display:flex;gap:.75rem;flex-wrap:wrap}.status-linked,.status-unlinked{display:flex;align-items:center;gap:.25rem;font-size:.75rem;padding:.25rem .5rem;border-radius:.25rem}.status-linked{background:color-mix(in srgb,var(--j-success) 20%,transparent);color:var(--accent-green)}.status-unlinked{background:#eab30833;color:var(--accent-yellow)}.status-badge{font-size:.75rem;padding:.25rem .5rem;background:var(--bg-tertiary);color:var(--text-secondary);border-radius:.25rem}.details-section{margin-bottom:1.5rem}.details-section h4{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.metric-item{background:var(--bg-tertiary);padding:.75rem;border-radius:.5rem}.metric-item.highlight{border:1px solid var(--accent-blue);background:color-mix(in srgb,var(--j-blue) 10%,transparent)}.metric-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.metric-value{display:block;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.metric-value.revenue{color:var(--accent-green)}.metric-subtitle{display:block;font-size:.625rem;color:var(--text-muted);margin-top:.125rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.info-item{padding:.5rem 0}.info-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.125rem}.info-value{display:block;font-size:.875rem;color:var(--text-primary);word-break:break-word}.segment-group{margin-bottom:1rem}.segment-group h5{font-size:.75rem;font-weight:500;color:var(--text-secondary);margin:0 0 .5rem}.segment-list{display:flex;flex-wrap:wrap;gap:.5rem}.segment-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border-radius:.25rem;font-size:.75rem}.segment-item.sending{background:color-mix(in srgb,var(--j-success) 15%,transparent);color:var(--accent-green)}.segment-item.suppression{background:#ef444426;color:var(--accent-red)}.segment-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segment-count{font-weight:500;opacity:.8}.delivery-issues{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.delivery-issues h5{font-size:.8rem;font-weight:500;color:var(--accent-yellow);margin:0 0 .75rem}.issues-grid{display:flex;flex-wrap:wrap;gap:1rem}.issue-item{display:flex;flex-direction:column;padding:.5rem .75rem;background:#ef44441a;border-radius:.375rem;min-width:100px}.issue-label{font-size:.7rem;color:var(--text-muted);margin-bottom:.25rem}.issue-value{font-size:1rem;font-weight:600;color:var(--accent-red)}.clickable-row{cursor:pointer;transition:background .2s}.clickable-row:hover{background:var(--bg-tertiary)!important}@media (max-width: 640px){.modal-content{max-height:95vh}.modal-body{padding:1rem}.metrics-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr}}.filter-badge{display:inline-block;margin-left:.75rem;padding:.25rem .5rem;background:var(--accent-blue);color:var(--j-on-accent);font-size:.65rem;font-weight:500;border-radius:.25rem;text-transform:uppercase;letter-spacing:.025em;vertical-align:middle}.loading-state{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary);font-size:.875rem}.kanban-container{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem;min-height:60vh}.kanban-column{flex:0 0 280px;background:var(--bg-secondary);border-radius:8px;display:flex;flex-direction:column;max-height:calc(100vh - 220px);transition:background-color .2s ease}.kanban-column.drag-over{background:var(--bg-tertiary)}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.kanban-column-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}.kanban-column-count{background:var(--bg-tertiary);padding:2px 8px;border-radius:12px;font-size:.75rem;color:var(--text-muted)}.kanban-priority-badge{padding:2px 6px;border-radius:10px;font-size:.65rem;font-weight:600}.kanban-priority-badge.critical{background:#ef444433;color:var(--accent-red)}.kanban-priority-badge.high{background:#eab30833;color:var(--accent-yellow)}.kanban-add-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.kanban-add-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.kanban-column-cards{flex:1;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.5rem}.kanban-empty-column{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted);text-align:center;gap:.5rem}.kanban-drop-indicator{height:4px;background:var(--accent-blue);border-radius:2px;margin:4px 0;animation:pulse 1s ease infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.kanban-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:.75rem;cursor:pointer;position:relative;transition:all .2s ease}.kanban-card:hover{border-color:var(--accent-blue);transform:translateY(-1px)}.kanban-card.dragging{opacity:.5;transform:rotate(3deg)}.kanban-card-priority-bar{position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:6px 0 0 6px}.kanban-card-header{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.kanban-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase}.kanban-badge.ai{background:color-mix(in srgb,var(--j-blue) 20%,transparent);color:var(--accent-blue)}.kanban-badge.critical{background:#ef444433;color:var(--accent-red)}.kanban-badge.high{background:#eab30833;color:var(--accent-yellow)}.kanban-card-title{font-size:.85rem;font-weight:500;margin-bottom:4px;line-height:1.3}.kanban-card-description{font-size:.75rem;color:var(--text-muted);margin-bottom:8px;line-height:1.4}.kanban-card-ai-context{margin-bottom:8px}.kanban-ai-source{font-size:.65rem;padding:2px 6px;background:var(--bg-secondary);border-radius:4px;color:var(--text-secondary)}.kanban-card-labels{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.kanban-label{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:var(--bg-tertiary);border-radius:4px;font-size:.65rem;color:var(--text-secondary)}.kanban-label-more{font-size:.65rem;color:var(--text-muted)}.kanban-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--text-muted)}.kanban-due-date{display:inline-flex;align-items:center;gap:4px}.kanban-due-date.overdue{color:var(--accent-red)}.kanban-due-date.today{color:var(--accent-yellow)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:color-mix(in srgb,var(--j-shade) 100%,transparent);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-secondary);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.kanban-modal{display:flex;flex-direction:column}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);position:relative}.modal-header h3{display:flex;align-items:center;gap:8px;font-size:1.1rem}.modal-subtitle{display:block;font-size:.8rem;color:var(--text-muted);margin-top:4px}.modal-header-badges{display:flex;gap:8px;margin-bottom:8px}.modal-close{position:absolute;right:1rem;top:1rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;gap:1rem}.modal-footer-left,.modal-footer-right{display:flex;gap:8px;align-items:center}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8rem;font-weight:500;margin-bottom:6px;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{width:100%;padding:10px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.9rem;transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-blue)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-danger-outline,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);border:none;white-space:nowrap}.btn-primary{background:var(--accent-blue);color:var(--j-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-blue-hover);box-shadow:0 2px 8px color-mix(in srgb,var(--j-blue) 30%,transparent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-elevated);border-color:var(--bg-elevated)}.btn-success{background:var(--accent-green-dim);color:var(--j-on-accent)}.btn-success:hover{background:var(--j-success);box-shadow:0 2px 8px color-mix(in srgb,var(--j-success) 30%,transparent)}.btn-danger{background:var(--j-hard-fill);color:var(--j-on-accent)}.btn-danger:hover{background:var(--j-danger);box-shadow:0 2px 8px #ef44444d}.btn-danger-outline{background:transparent;color:var(--accent-red);border:1px solid var(--accent-red)}.btn-danger-outline:hover{background:color-mix(in srgb,var(--j-danger) 10%,transparent)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:color-mix(in srgb,var(--j-text) 5%,transparent);color:var(--text-primary)}.btn-small{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-icon{padding:var(--space-2);width:32px;height:32px}.kanban-ai-details{background:var(--bg-primary);border-radius:8px;padding:1rem;margin-top:1rem}.kanban-ai-details h4{display:flex;align-items:center;gap:6px;font-size:.9rem;margin-bottom:1rem;color:var(--accent-blue)}.ai-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.ai-context-item{display:flex;flex-direction:column;gap:4px}.ai-context-label{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em}.ai-context-value{font-size:.85rem;color:var(--text-primary)}.ai-reasoning{margin-bottom:1rem}.ai-reasoning p{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.ai-data-points{border-top:1px solid var(--border-color);padding-top:1rem}.data-points-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-top:.5rem}.data-point{display:flex;flex-direction:column;gap:2px}.data-point-key{font-size:.7rem;text-transform:capitalize;color:var(--text-muted)}.data-point-value{font-size:.85rem;font-weight:500;color:var(--text-primary)}.kanban-metadata{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.metadata-item{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-muted)}.velocity-modal{max-width:500px}.velocity-loading,.velocity-error,.velocity-empty{text-align:center;padding:2rem;color:var(--text-muted)}.velocity-empty svg{margin-bottom:1rem;opacity:.5}.velocity-hint{font-size:.8rem;margin-top:.5rem}.velocity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.velocity-stat{text-align:center;padding:1rem;background:var(--bg-primary);border-radius:8px}.velocity-stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--accent-blue)}.velocity-stat-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:4px}.velocity-section{margin-bottom:1.5rem}.velocity-section h4{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.velocity-breakdown{display:flex;flex-direction:column;gap:.5rem}.velocity-item{display:flex;align-items:center;gap:8px;padding:.75rem;background:var(--bg-primary);border-radius:6px}.velocity-item span:last-child{margin-left:auto;font-weight:600}.velocity-table{background:var(--bg-primary);border-radius:8px;overflow:hidden}.velocity-table-header,.velocity-table-row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:.75rem 1rem;gap:1rem}.velocity-table-header{background:var(--bg-tertiary);font-size:.75rem;text-transform:uppercase;color:var(--text-muted)}.velocity-table-row{border-bottom:1px solid var(--border-color)}.velocity-table-row:last-child{border-bottom:none}.priority-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500}.priority-badge.normal{background:var(--bg-tertiary);color:var(--text-secondary)}.priority-badge.high{background:#eab30833;color:var(--accent-yellow)}.priority-badge.critical{background:#ef444433;color:var(--accent-red)}.velocity-insights{display:flex;flex-direction:column;gap:.5rem}.velocity-insight{display:flex;align-items:center;gap:8px;padding:.5rem;font-size:.85rem;color:var(--text-secondary)}.insight-icon{font-size:1.1rem}.notification-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.75rem;z-index:1100;max-width:350px}.notification-toast{display:flex;align-items:flex-start;gap:12px;padding:1rem;background:var(--bg-secondary);border:1px solid;border-radius:8px;cursor:pointer;animation:slideIn .3s ease;box-shadow:0 4px 12px #0000004d}.notification-toast.exiting{animation:slideOut .3s ease forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.notification-icon{flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-size:.85rem;font-weight:600;margin-bottom:2px}.notification-message{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-close{flex-shrink:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px;border-radius:4px}.notification-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.fa-icon{width:1em;height:1em;margin-right:var(--space-2);opacity:.85}.fa-icon-sm{font-size:12px}.fa-icon-md{font-size:16px}.fa-icon-lg{font-size:20px}.fa-icon-xl{font-size:24px}.fa-icon-primary{color:var(--accent-blue)}.fa-icon-success{color:var(--accent-green)}.fa-icon-warning{color:var(--accent-yellow)}.fa-icon-danger{color:var(--accent-red)}.fa-icon-muted{color:var(--text-muted)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent-blue)}.text-success{color:var(--accent-green)}.text-warning{color:var(--accent-yellow)}.text-danger{color:var(--accent-red)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,.content-header h2,.panel-title{font-family:var(--j-font-display);letter-spacing:-.01em}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{border-color:var(--j-border-strong)!important}
