:root{--color-primary:#1e3a5f;--color-success:#059669;--color-warning:#d97706;--color-danger:#b91c1c;--color-border:#e5e7eb;--color-bg:#fff;--transition-ms:.25s}html,body{height:100%;overflow:hidden}body{background:var(--color-bg);color:#111;flex-direction:column;margin:0;padding:0;font-family:Inter,Segoe UI,system-ui,sans-serif;display:flex}.workspace-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.sync-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;position:absolute;inset:0}.sync-overlay-content{background:var(--color-bg);border-radius:8px;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem;display:flex;box-shadow:0 4px 12px #00000026}.sync-overlay-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite sync-spin}.sync-overlay-message{color:#374151;margin:0;font-size:1rem}@keyframes sync-spin{to{transform:rotate(360deg)}}.workspace-toolbar{border-bottom:1px solid var(--color-border);background:var(--color-bg);align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.toolbar-project label{color:var(--color-primary);margin-right:.5rem;font-weight:500}.project-select{border:1px solid var(--color-border);border-radius:4px;min-width:200px;padding:.35rem .5rem;font-size:1rem}.toolbar-project-info{align-items:center;gap:.75rem;display:flex}.toolbar-project-name{color:var(--color-primary);font-weight:500}.toolbar-project-last-fetched{color:#6b7280;font-size:.9rem}.toolbar-sync-btn{color:var(--color-bg);background:var(--color-success);border:1px solid var(--color-success);cursor:pointer;border-radius:4px;padding:.35rem .75rem;font-size:.9rem;font-weight:500}.toolbar-sync-btn:hover:not(:disabled){filter:brightness(1.06)}.toolbar-sync-btn:disabled{opacity:.5;cursor:not-allowed}.workspace-content{flex-direction:row;flex:1;min-height:0;display:flex;position:relative}.workspace-content-left{flex-direction:column;flex:1;min-width:0;display:flex}.workspace-empty{text-align:center;color:#6b7280;padding:2rem}.workspace-grid-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.traceability-grid{flex-direction:column;flex:1;min-height:0;display:flex}.grid-toolbar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.toolbar-section{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.toolbar-section.toolbar-view{margin-left:auto}.toolbar-section-label{text-transform:uppercase;letter-spacing:.02em;color:#6b7280;margin-right:.25rem;font-size:.75rem}.toolbar-divider{background:var(--color-border);flex-shrink:0;width:1px;height:1.25rem;margin:0 .25rem}.toolbar-group{border:1px solid var(--color-border);background:#f9fafb;border-radius:6px;align-items:center;gap:.25rem;padding:.15rem .35rem;display:inline-flex}.toolbar-search{border:1px solid var(--color-border);background:var(--color-bg);width:200px;transition:border-color var(--transition-ms) ease, background-color var(--transition-ms) ease;border-radius:4px;padding:.35rem .5rem;font-size:.9rem}.toolbar-search.toolbar-search--active{border-bottom-width:2px;border-bottom-color:#111}.toolbar-toggle{cursor:pointer;border:1px solid var(--color-border);background:var(--color-bg);color:#374151;transition:border-color var(--transition-ms) ease, background-color var(--transition-ms) ease, color var(--transition-ms) ease, font-weight var(--transition-ms) ease;border-bottom-width:1px;border-radius:4px;padding:.35rem .6rem;font-size:.9rem;font-weight:400}.toolbar-toggle.toolbar-toggle--on{background:var(--color-bg);border-color:var(--color-border);color:#374151;border-bottom-width:2px;border-bottom-color:#111;font-weight:700}.toolbar-toggle.toolbar-toggle--off{background:var(--color-bg)}.toolbar-toggle.toolbar-toggle--off:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.toolbar-toggle.toolbar-toggle--disabled{opacity:.6;cursor:default}.toolbar-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.toolbar-segment{align-items:center;gap:0;display:flex}.toolbar-segment .toolbar-toggle{border-radius:0}.toolbar-segment .toolbar-toggle:first-child{border-radius:4px 0 0 4px}.toolbar-segment .toolbar-toggle:last-child{border-radius:0 4px 4px 0}.toolbar-segment .toolbar-toggle:not(:first-child){margin-left:-1px}.grid-columns-wrapper{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.connectors-overlay{pointer-events:none;width:100%;height:100%;transition:opacity var(--transition-ms) ease;position:absolute;inset:0}.grid-columns{flex:1;min-height:0;display:flex;overflow:hidden}.grid-column{border-right:1px solid var(--color-border);min-width:0;min-height:0;transition:flex var(--transition-ms) ease;flex-direction:column;flex:1 1 0;display:flex;overflow:hidden}.grid-column.column-hidden{display:none}.grid-column.column-anchor,.grid-column.column-editing-anchor{flex:2 1 0}.grid-column.column-editing-other{flex:1 1 0}.column-header{border-bottom:1px solid var(--color-border);background:#f9fafb;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.column-title{color:var(--color-primary);font-weight:600}.column-add-btn{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;color:var(--color-primary);border-radius:4px;padding:.2rem .5rem;font-size:1rem}.column-add-btn:hover{background:#f3f4f6}.column-cards{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.5rem;display:flex;overflow:hidden auto}.dc-card{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;transition:opacity var(--transition-ms) ease, box-shadow var(--transition-ms) ease;border-radius:6px;padding:.6rem .75rem;position:relative}.dc-card:hover{box-shadow:0 1px 3px #00000014}.dc-card-linked{border-color:var(--color-success);background:#ecfdf5}.dc-card-anchor,.dc-card-anchor:hover{box-shadow:0 0 0 2px var(--color-primary)}.dc-card-missing-left{border-left:3px solid var(--color-warning)}.dc-card-missing-right{border-right:3px solid var(--color-warning)}.dc-card-synchronizing{opacity:.75}.dc-card-syncing-indicator{color:var(--color-text-secondary,#6b7280);padding:.15rem .25rem;font-size:.8rem;animation:1.2s linear infinite dc-spin;display:inline-block}@keyframes dc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dc-card-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.dc-card-display-id{color:var(--color-primary);font-size:.85rem;font-weight:600}.dc-card-test-status{border-radius:4px;padding:.1rem .35rem;font-size:.75rem;display:none}.dc-card-test-status.dc-card-test-visible{display:inline}.dc-card-test-status.test-pass{color:var(--color-success);background:#d1fae5}.dc-card-test-status.test-fail{color:var(--color-danger);background:#fee2e2}.dc-card-status{color:#6b7280;font-size:.75rem}.dc-card-pinned{margin-left:auto;display:none}.dc-card-pinned.dc-card-pinned-visible{display:inline}.dc-card-label{background:var(--color-primary);color:#fff;opacity:.85;border-radius:999px;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.dc-card-action-icon{object-fit:contain;flex-shrink:0;width:auto;max-width:1.35rem;height:1.15rem;display:block}.dc-card-action-icon--differs{max-width:1.1rem;height:1rem}.dc-card-conversation-btn{font:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.1rem .2rem;line-height:0;display:inline-flex}.dc-card-conversation-btn:hover,.dc-card-conversation-btn--has-comments{opacity:1}.dc-card-edit-btn{font:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.1rem .2rem;line-height:0;display:inline-flex}.dc-card-edit-btn:hover{opacity:1}.dc-card-edit-btn--editing{color:#6b7280;opacity:1}.dc-card-edit-btn--editing:hover{color:#374151}.dc-card-copy-btn{font:inherit;cursor:pointer;opacity:.65;color:inherit;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:.1rem .15rem;line-height:0;display:inline-flex}.dc-card-copy-btn:hover{opacity:1}.dc-card-differs-gg{vertical-align:middle;margin-left:.25rem;line-height:0;display:none}.dc-card-differs-gg.dc-card-differs-gg-visible{align-items:center;display:inline-flex}.dc-card-differs-gg-button{font:inherit;cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;margin:0;padding:.05rem;line-height:0;display:inline-flex}.dc-card-differs-gg-button:hover{background:#d977061f}.dc-card-content{font-size:.9rem}.dc-card-title{margin-bottom:.2rem;font-weight:600}.dc-card-description{color:#4b5563;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}.dc-card-anchor .dc-card-content{flex-direction:column;min-height:0;display:flex}.dc-card-anchor .dc-card-title{white-space:pre-wrap}.dc-card-anchor .dc-card-description{-webkit-line-clamp:unset;white-space:pre-wrap;max-height:min(50vh,16rem);display:block;overflow-y:auto}.dc-card-diff .diff-remove{background:#b91c1c33;text-decoration:line-through}.dc-card-diff .diff-add{background:#05966933}.dc-card-editing .dc-card-content{flex-direction:column;min-height:0;display:flex}.dc-card-content .dc-card-edit-title,.dc-card-content .dc-card-edit-description,.dc-card-content .dc-card-edit-links,.dc-card-content .dc-card-edit-labels{display:none}.dc-card-content-editing .dc-card-edit-title,.dc-card-content-editing .dc-card-edit-description,.dc-card-content-editing .dc-card-edit-links,.dc-card-content-editing .dc-card-edit-labels{display:block}.dc-card-content-editing .dc-card-title,.dc-card-content-editing .dc-card-description{display:none}.dc-card-edit-title{box-sizing:border-box;border:1px solid var(--color-border);border-radius:4px;width:100%;margin-bottom:.35rem;padding:.25rem .35rem;font-family:inherit;font-size:.9rem;font-weight:600}.dc-card-edit-description{box-sizing:border-box;border:1px solid var(--color-border);color:#4b5563;resize:vertical;border-radius:4px;flex:1;width:100%;min-height:min(50vh,16rem);max-height:min(50vh,16rem);padding:.35rem;font-family:inherit;font-size:.85rem;overflow-y:auto}.conversation-resize-handle{cursor:col-resize;border-left:1px solid var(--color-border);width:5px;transition:background var(--transition-ms) ease;background:0 0;flex-shrink:0}.conversation-resize-handle:hover{background:var(--color-primary);opacity:.25}.conversation-panel{border-left:none;flex-shrink:0;width:0;overflow:hidden}.conversation-panel.conversation-panel-visible{background:var(--color-bg);border-left:none;flex-direction:column;width:320px;min-width:180px;display:flex}.conversation-panel[aria-hidden=true]{width:0;min-width:0}.conversation-view{flex-direction:column;height:100%;min-height:0;display:flex}.conversation-view-header{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.conversation-view-title{margin:0;font-size:1rem;font-weight:600}.conversation-view-display-id{color:var(--color-primary);font-size:.85rem}.conversation-view-resolve{border:1px solid var(--color-border);cursor:pointer;color:#374151;background:#f3f4f6;border-radius:4px;padding:.25rem .5rem;font-size:.85rem}.conversation-view-resolve:hover{background:#e5e7eb}.conversation-view-close{cursor:pointer;color:#6b7280;background:0 0;border:none;margin-left:auto;padding:.25rem .5rem;font-size:1.25rem;line-height:1}.conversation-view-close:hover{color:#111}.conversation-view-list{flex:1;min-height:0;padding:.5rem 1rem;overflow-y:auto}.conversation-view-loading,.conversation-view-error,.conversation-view-empty{color:#6b7280;margin:0;font-size:.9rem}.conversation-view-error{color:var(--color-danger)}.conversation-list{margin:0;padding:0;list-style:none}.conversation-item{border-bottom:1px solid var(--color-border);padding:.5rem 0;font-size:.9rem}.conversation-item-meta{align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.conversation-item-user{color:#374151;font-weight:600}.conversation-item-date{color:#6b7280;font-size:.75rem}.conversation-item-body{white-space:pre-wrap;word-break:break-word}.conversation-view-form{border-top:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:.5rem;padding:.75rem 1rem;display:flex}.conversation-view-form-error{color:var(--color-danger);margin:0;font-size:.85rem}.conversation-view-input{box-sizing:border-box;border:1px solid var(--color-border);resize:vertical;border-radius:4px;width:100%;min-height:4rem;padding:.35rem .5rem;font-family:inherit;font-size:.9rem}.conversation-view-submit{border:1px solid var(--color-border);cursor:pointer;background:#f3f4f6;border-radius:4px;align-self:flex-start;padding:.35rem .75rem;font-size:.9rem}.conversation-view-submit:hover{background:#e5e7eb}.dc-card-link-diff{border-top:1px dashed var(--color-border);margin-top:.35rem;padding-top:.25rem;font-size:.8rem;line-height:1.6}.dc-card-edit-links{margin-top:.35rem}.link-chips{flex-wrap:wrap;gap:.3rem;margin-bottom:.3rem;display:flex}.link-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:.2rem;padding:.15rem .45rem;font-size:.78rem;font-weight:500;line-height:1.4;display:inline-flex}.link-chip--both{color:#374151;background:#e5e7eb}.link-chip--gg-only{color:#991b1b;background:#b91c1c26}.link-chip--wc-only{color:#065f46;background:#05966926}.link-chip__remove{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;padding:0 .15rem;font-size:.85rem;line-height:1}.link-chip__remove:hover{opacity:1}.dc-card-edit-link-input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:4px;width:100%;padding:.25rem .35rem;font-family:inherit;font-size:.8rem}.dc-card-edit-labels{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.35rem;display:flex}.dc-card-label--edit{align-items:center;gap:.15rem;display:inline-flex}.dc-card-label__remove{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:0 .1rem;font-size:.85rem;line-height:1}.dc-card-label__remove:hover{opacity:1}.dc-card-edit-label-input{box-sizing:border-box;border:1px solid var(--color-border);border-radius:4px;flex:1;min-width:8rem;padding:.25rem .35rem;font-family:inherit;font-size:.8rem}.workspace-logo{width:auto;height:72px;display:block}.logo-link{flex-shrink:0;align-items:center;line-height:0;display:flex}.page-nav{border-bottom:1px solid var(--color-border);background:var(--color-bg);flex-shrink:0;align-items:center;padding:.75rem 1rem;display:flex}.auth-page{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;max-width:36rem;margin:2rem auto;padding:1.5rem}.auth-logo{width:100%;max-width:50rem;height:auto;margin:0 auto 1.25rem;display:block}.auth-page h1{color:var(--color-primary);margin-top:0;font-size:1.25rem}.auth-page label{margin-bottom:.75rem;display:block}.auth-page input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;font:inherit;border-radius:4px;margin-top:.25rem;padding:.4rem .5rem;display:block}.auth-page button[type=submit]{font:inherit;cursor:pointer;background:var(--color-success);color:#fff;border:none;border-radius:4px;margin-top:.5rem;padding:.45rem 1rem}.auth-page button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:var(--color-danger)}.auth-hint,.auth-info{color:#555;font-size:.85rem}.toolbar-auth{flex-direction:column;align-items:flex-end;gap:.25rem;margin-left:auto;font-size:.85rem;display:flex}.toolbar-auth a{color:var(--color-primary)}.toolbar-qaa-btn{background:var(--color-success);border:1px solid var(--color-success);border-radius:4px;padding:.2rem .65rem;font-weight:600;text-decoration:none;display:inline-block;color:#fff!important}.toolbar-qaa-btn:hover{filter:brightness(1.06)}.agent-response{color:#1f2937;white-space:normal;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:.95rem;line-height:1.65}.agent-response p{margin:.5em 0}.agent-response h1,.agent-response h2,.agent-response h3,.agent-response h4{color:var(--color-primary);margin:.8em 0 .3em;line-height:1.3}.agent-response h1{font-size:1.15rem}.agent-response h2{font-size:1.05rem}.agent-response h3{font-size:.98rem}.agent-response ul,.agent-response ol{margin:.4em 0;padding-left:1.4em}.agent-response li{margin:.2em 0}.agent-response code{background:#f3f4f6;border-radius:3px;padding:.1em .35em;font-family:JetBrains Mono,Fira Code,monospace;font-size:.88em}.agent-response pre{border:1px solid var(--color-border);background:#f3f4f6;border-radius:4px;padding:.6rem .8rem;font-size:.85em;overflow-x:auto}.agent-response pre code{background:0 0;padding:0}.agent-response table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:.9em}.agent-response th,.agent-response td{border:1px solid var(--color-border);text-align:left;padding:.3rem .6rem}.agent-response th{color:var(--color-primary);background:#f9fafb;font-weight:600}.agent-response blockquote{border-left:3px solid var(--color-primary);color:#4b5563;background:#f9fafb;margin:.5em 0;padding:.3em .8em}.agent-response a{color:var(--color-primary);text-decoration:underline}.agent-response strong{font-weight:700}.agent-response em{font-style:italic}.agent-response del{color:#9ca3af;text-decoration:line-through}.agent-response>:first-child{margin-top:0}.agent-response>:last-child{margin-bottom:0}.lock-error-banner{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.lock-error-banner--conflict{color:#92400e;background:#fff3cd;border-color:#fcd34d}.lock-error-dismiss{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;margin-left:auto;padding:0 .2rem;font-size:1rem;line-height:1}.lock-error-dismiss:hover{opacity:1}