:root{--ops-primary: #0891b2;--ops-primary-hover: #0e7490;--ops-primary-subtle: rgba(8, 145, 178, .08);--ops-primary-rgb: 8, 145, 178;--ops-accent: #16a34a;--ops-accent-subtle: rgba(22, 163, 74, .08);--ops-danger: #dc2626;--ops-danger-subtle: rgba(220, 38, 38, .06);--ops-warning: #d97706;--ops-warning-subtle: rgba(217, 119, 6, .06);--ops-bg: #fafafa;--ops-surface: #ffffff;--ops-surface-raised: #f4f4f5;--ops-border: #e4e4e7;--ops-border-subtle: #f0f0f2;--ops-text: #09090b;--ops-text-dim: #3f3f46;--ops-text-muted: #a1a1aa;--ops-font: "DM Sans", system-ui, sans-serif;--ops-font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--ops-font-serif: "Instrument Serif", "Georgia", serif;--ops-nav-h: 56px;--ops-radius: 10px;--ops-panel-gap: 12px;--ops-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--ops-shadow: 0 1px 4px rgba(0, 0, 0, .06);--ops-shadow-input: 0 -1px 6px rgba(0, 0, 0, .03);--ops-user-bg: var(--ops-primary);--ops-user-color: #ffffff;--ops-badge-create-bg: rgba(22, 163, 74, .08);--ops-badge-create-fg: #16a34a;--ops-badge-update-bg: rgba(8, 145, 178, .08);--ops-badge-update-fg: #0891b2;--ops-badge-find-bg: rgba(217, 119, 6, .06);--ops-badge-find-fg: #d97706;--ops-badge-error-bg: rgba(220, 38, 38, .06);--ops-badge-error-fg: #dc2626;--ops-ease: cubic-bezier(.16, 1, .3, 1)}[data-bs-theme=light]{--bs-body-bg: #fafafa;--bs-body-color: #09090b;--bs-secondary-bg: #f4f4f5;--bs-tertiary-bg: #f4f4f5;--bs-border-color: #e4e4e7;--bs-border-color-translucent: rgba(0, 0, 0, .06);--bs-emphasis-color: #09090b;--bs-secondary-color: #52525b;--bs-link-color: #0891b2;--bs-link-hover-color: #0e7490;--bs-code-color: #0891b2;--bs-card-bg: #ffffff;--bs-card-border-color: #e4e4e7;--bs-modal-bg: #ffffff;--bs-modal-border-color: #e4e4e7;--bs-form-control-bg: #ffffff;--bs-input-bg: #ffffff}.btn-primary{--bs-btn-bg: var(--ops-primary);--bs-btn-border-color: var(--ops-primary);--bs-btn-hover-bg: var(--ops-primary-hover);--bs-btn-hover-border-color: var(--ops-primary-hover);--bs-btn-active-bg: var(--ops-primary-hover);--bs-btn-active-border-color: var(--ops-primary-hover);--bs-btn-color: #ffffff;--bs-btn-hover-color: #ffffff;--bs-btn-active-color: #ffffff}.btn-outline-primary{--bs-btn-color: var(--ops-primary);--bs-btn-border-color: var(--ops-primary);--bs-btn-hover-bg: var(--ops-primary);--bs-btn-hover-border-color: var(--ops-primary);--bs-btn-hover-color: #ffffff;--bs-btn-active-bg: var(--ops-primary-hover);--bs-btn-active-border-color: var(--ops-primary-hover);--bs-btn-active-color: #ffffff}.btn-success{--bs-btn-bg: #16a34a;--bs-btn-border-color: #16a34a;--bs-btn-color: #ffffff;--bs-btn-hover-bg: #15803d;--bs-btn-hover-border-color: #15803d;--bs-btn-hover-color: #ffffff}.btn-outline-secondary{--bs-btn-color: #52525b;--bs-btn-border-color: #d4d4d8;--bs-btn-hover-bg: #f4f4f5;--bs-btn-hover-border-color: #a1a1aa;--bs-btn-hover-color: #09090b}.text-primary{color:var(--ops-primary)!important}.border-primary{border-color:var(--ops-primary)!important}.bg-primary{background-color:var(--ops-primary)!important}.badge.bg-success-subtle{background:var(--ops-badge-create-bg)!important}.badge.text-success-emphasis{color:var(--ops-badge-create-fg)!important}.badge.bg-danger-subtle{background:var(--ops-badge-error-bg)!important}.badge.text-danger-emphasis{color:var(--ops-badge-error-fg)!important}.badge.bg-warning-subtle{background:var(--ops-badge-find-bg)!important}.badge.text-warning-emphasis{color:var(--ops-badge-find-fg)!important}.badge.bg-info-subtle{background:var(--ops-primary-subtle)!important}.badge.text-info-emphasis{color:var(--ops-primary)!important}.card{--bs-card-bg: var(--ops-surface);--bs-card-border-color: var(--ops-border);border-radius:var(--ops-radius)}.card-header{background:var(--ops-surface-raised)!important;border-bottom-color:var(--ops-border)!important}.offcanvas{--bs-offcanvas-bg: var(--ops-surface);--bs-offcanvas-border-color: var(--ops-border)}.modal-content{background:var(--ops-surface);border-color:var(--ops-border)}.form-control,.form-select{background-color:var(--ops-surface)!important;border-color:var(--ops-border)!important;color:var(--ops-text)!important}.form-control:focus,.form-select:focus{border-color:var(--ops-primary)!important;box-shadow:0 0 0 2px rgba(var(--ops-primary-rgb),.12)!important;background-color:var(--ops-surface)!important;color:var(--ops-text)!important}.form-control::placeholder{color:var(--ops-text-muted)!important;opacity:1}.form-control:disabled,.form-select:disabled{background-color:var(--ops-surface-raised)!important;color:var(--ops-text-muted)!important;opacity:.7}.alert-info{background:var(--ops-primary-subtle);border-color:rgba(var(--ops-primary-rgb),.12);color:var(--ops-primary)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d4d4d8;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a1a1aa}::selection{background:var(--ops-primary-subtle);color:var(--ops-primary)}*{box-sizing:border-box}html,body{height:100%;font-family:var(--ops-font);margin:0;-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--ops-bg)}.app-nav{height:var(--ops-nav-h);min-height:var(--ops-nav-h);display:flex;align-items:center;padding:0 1rem;gap:.75rem;z-index:10}.app-nav .brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1}.app-nav .brand-logo{max-height:28px;max-width:120px;object-fit:contain;display:block}.app-nav .brand-initial{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;color:#fff;font-size:.75rem;font-weight:700;flex-shrink:0}.app-nav .brand-name-row{display:flex;align-items:center;gap:.4rem}.app-nav .brand-name{font-family:var(--ops-font-mono);font-weight:600;font-size:.88rem;letter-spacing:-.01em}.app-nav .brand-powered{font-family:var(--ops-font-mono);font-size:.6rem;color:var(--ops-text-muted);letter-spacing:.01em;opacity:.6;margin-top:2px}.app-nav .btn{border-color:var(--ops-border);color:var(--ops-text-dim);font-size:.78rem;transition:border-color .2s,color .2s}.app-nav .btn:hover{border-color:#a1a1aa;color:var(--ops-text)}.input-wrap{flex-shrink:0;padding:.75rem}.input-wrap textarea{width:100%;resize:none;font-family:var(--ops-font);font-size:.9rem;border:none!important;border-radius:8px;padding:.6rem .75rem;max-height:150px;background:var(--ops-surface)!important;color:var(--ops-text)!important;box-shadow:none;outline:none;transition:box-shadow .2s}.input-wrap textarea:focus{box-shadow:none!important;border:none!important}.input-wrap textarea::placeholder{color:var(--ops-text-muted)!important}.file-chip{display:inline-flex;align-items:center;gap:.15rem;padding:.25rem .5rem;margin-bottom:.4rem;font-size:.78rem;color:var(--ops-primary);background:rgba(var(--ops-primary-rgb),.08);border:1px solid rgba(var(--ops-primary-rgb),.2);border-radius:6px;max-width:100%}.file-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.file-chip-remove{background:none;border:none;color:var(--ops-text-muted);font-size:1rem;line-height:1;padding:0 .15rem;cursor:pointer;opacity:.6;transition:opacity .15s}.file-chip-remove:hover{opacity:1;color:var(--bs-danger, #dc3545)}.input-actions{display:flex;align-items:center;gap:.35rem;margin-top:.4rem}.input-actions .btn{font-size:.75rem;padding:.25rem .5rem;border-radius:6px}.input-actions .btn i{font-size:.8rem}.input-actions .btn-send{margin-left:0}.msg-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem;padding-top:.4rem;border-top:1px solid rgba(128,128,128,.1)}.msg-action-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.72rem;font-weight:500;color:var(--ops-text-muted);background:transparent;border:1px solid var(--ops-border);border-radius:999px;cursor:pointer;transition:all .15s ease;white-space:nowrap;line-height:1.4}.msg-action-btn:hover{color:var(--ops-primary);border-color:var(--ops-primary);background:rgba(var(--ops-primary-rgb),.06)}.msg-action-btn.copied{color:var(--bs-success, #198754);border-color:var(--bs-success, #198754)}.msg-action-btn i{font-size:.7rem}.eb-trigger{display:inline-flex!important;align-items:center;gap:5px;font-family:var(--ops-font-mono)!important;font-size:.72rem!important;font-weight:500;padding:.22rem .55rem!important;border-radius:7px!important;white-space:nowrap;transition:all .15s}.eb-trigger-wrap{margin-left:auto;display:flex;align-items:center;gap:.35rem;position:relative}.eb-trigger:hover,.eb-trigger:focus{border-color:var(--ops-primary)!important;color:var(--ops-primary)!important}.eb-trigger-name{max-width:100px;overflow:hidden;text-overflow:ellipsis}.eb-trigger-sep{color:var(--ops-text-muted);font-size:.6rem}.eb-trigger-count{color:var(--ops-text-muted);font-size:.68rem}.eb-trigger-caret{font-size:.55rem;opacity:.5;margin-left:1px}.msg{margin-bottom:1rem;max-width:100%;min-width:0}.msg-user .msg-bubble{background:var(--ops-user-bg);color:var(--ops-user-color);border-radius:12px 12px 2px;padding:.6rem 1rem;font-size:.88rem;line-height:1.5;margin-left:auto;max-width:90%;width:fit-content;white-space:pre-wrap}.msg-response{min-width:0}.msg-response .msg-bubble{border-radius:12px 12px 12px 4px;font-size:.88rem;line-height:1.65;max-width:100%;color:var(--ops-text-dim)}.msg-response .msg-bubble strong,.msg-response .msg-bubble .fw-medium{color:var(--ops-text)}.msg-system .msg-bubble{background:var(--ops-primary-subtle);border:1px solid rgba(var(--ops-primary-rgb),.08);border-radius:8px;padding:.5rem .75rem;font-size:.82rem;line-height:1.5;color:var(--ops-text-dim)}.msg-time{font-family:var(--ops-font-mono);font-size:.62rem;color:var(--ops-text-muted);margin-top:.25rem}.msg-user .msg-time{text-align:right}.msg-save-wrap{display:flex;justify-content:flex-end;margin-top:.2rem;opacity:1;transition:opacity .15s}.msg:hover .msg-save-wrap,.msg-save-wrap:focus-within{opacity:1}.msg-save-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.12rem .45rem;font-family:var(--ops-font-mono);font-size:.65rem;font-weight:500;color:var(--ops-text-muted);background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:all .15s;line-height:1.4}.msg-save-btn:hover{color:var(--ops-primary);border-color:var(--ops-border);background:rgba(var(--ops-primary-rgb),.04)}.msg-save-btn i{font-size:.62rem}.msg-response .card{background:var(--ops-surface)!important;border:1px solid var(--ops-border)!important;border-left:3px solid var(--ops-primary)!important;border-radius:8px!important}.msg-response .card .card-header{background:var(--ops-surface-raised)!important;border-bottom:1px solid var(--ops-border)!important;padding:.4rem .75rem!important}.msg-response .card .card-header .font-mono{color:var(--ops-primary)!important}.msg-response .card .card-body .text-body-secondary{color:var(--ops-text-muted)!important}.msg-response .card .card-body .fw-medium{color:var(--ops-text-dim)!important}.msg-response .card .card-body>div{border-color:var(--ops-border)!important}.msg-response .badge{font-family:var(--ops-font-mono);font-weight:500;letter-spacing:.01em}.msg-index{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.65rem;font-weight:700;flex-shrink:0}.msg-user .msg-index{background:var(--ops-primary);color:#fff;margin-left:auto}.msg-response .msg-index,.msg-system .msg-index{background:var(--ops-surface-raised);color:var(--ops-text-dim);border:1px solid var(--ops-border)}.msg-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.msg-user .msg-head{justify-content:flex-end}.msg.highlighted .msg-bubble{box-shadow:0 0 0 2px var(--ops-primary)}.msg[data-pair]{cursor:pointer}.pair-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.6rem;font-weight:700;flex-shrink:0;vertical-align:middle;margin-right:.35rem;opacity:.5;transition:opacity .15s}.msg:hover .pair-badge,.msg.highlighted .pair-badge{opacity:1}.pair-badge-user{background:var(--ops-primary);color:#fff}.pair-badge-response{background:var(--ops-surface-raised);color:var(--ops-text-dim);border:1px solid var(--ops-border)}.welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center}.welcome h1{font-family:var(--ops-font-serif);font-size:2.5rem;font-weight:400;letter-spacing:-.02em;color:var(--ops-text-muted)}.setup-panel{background:var(--ops-surface, #ffffff);border:1px solid var(--ops-border, #e4e4e7);border-left:3px solid var(--bs-warning, #f7b84b);border-radius:var(--ops-radius, 10px);overflow:hidden;font-size:.84rem;transition:box-shadow .15s ease}.setup-panel:hover{box-shadow:var(--ops-shadow, 0 1px 4px rgba(0, 0, 0, .06))}.setup-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--ops-border-subtle, #f0f0f2)}.setup-panel-collapsed .setup-panel-header{border-bottom:none}.setup-panel-title{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.82rem;color:var(--ops-text, #09090b)}.setup-panel-title i{color:var(--bs-warning, #f7b84b);font-size:.9rem}.setup-panel-badge{font-size:.72rem;font-weight:500;color:var(--ops-text-muted, #a1a1aa);font-variant-numeric:tabular-nums}.setup-panel-actions{display:flex;align-items:center;gap:.15rem}.setup-panel-toggle{background:none;border:none;color:var(--ops-text-muted, #a1a1aa);cursor:pointer;padding:.15rem .3rem;line-height:1;border-radius:4px;font-size:.78rem;transition:color .15s,background .15s}.setup-panel-toggle:hover{color:var(--ops-text, #09090b);background:var(--ops-surface-raised, #f4f4f5)}.setup-panel-progress{height:3px;background:var(--ops-border-subtle, #f0f0f2)}.setup-panel-progress-fill{height:100%;background:var(--bs-success, #34c38f);transition:width .4s ease}.setup-panel-steps{padding:.25rem 0}.setup-panel-step{display:flex;align-items:center;gap:.65rem;padding:.4rem .75rem;background:none;border:none;text-align:left;cursor:pointer;width:100%;transition:background .1s}.setup-panel-step:hover{background:var(--ops-surface-raised, #f4f4f5)}.setup-step-icon{font-size:.9rem;flex-shrink:0;line-height:1}.setup-step-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}.setup-step-label{font-size:.8rem;font-weight:500;color:var(--ops-text, #09090b);line-height:1.2}.setup-panel-step.done .setup-step-label{color:var(--ops-text-muted, #a1a1aa);text-decoration:line-through;text-decoration-color:var(--ops-border, #e4e4e7)}.setup-step-desc{font-size:.71rem;color:var(--ops-text-muted, #a1a1aa);line-height:1.2}.setup-step-arrow{font-size:.65rem;color:var(--ops-border, #e4e4e7);flex-shrink:0}.setup-panel-step.todo:hover .setup-step-arrow{color:var(--ops-text-muted, #a1a1aa)}.font-mono{font-family:var(--ops-font-mono);font-size:.85em}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.typing-dot{animation:pulse 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.schema-panel{transition:transform .3s var(--ops-ease),opacity .3s var(--ops-ease)}.disc-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:#c4704b;pointer-events:none;z-index:10;animation:discPulse 2s ease-in-out infinite}.disc-dot-history{top:8px;right:8px}@keyframes discPulse{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 #c4704b80}50%{transform:scale(1.3);opacity:.85;box-shadow:0 0 0 6px #c4704b00}}.discovery-card{max-width:460px;width:100%;background:#fdf8f4;border:1px solid #f0d9b5;border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.5rem;font-family:var(--ops-font-mono, "DM Mono", monospace);font-size:.78rem;line-height:1.6;color:#2c2520;text-align:left}.discovery-card p{margin:0 0 .15rem}.discovery-card br{display:block;content:"";margin:.35rem 0}.discovery-try{display:block;width:100%;text-align:left;background:#fff;border:1px solid #e8e4df;border-radius:6px;padding:.4rem .65rem;font-family:var(--ops-font-mono, "DM Mono", monospace);font-size:.76rem;color:#2c2520;cursor:pointer;transition:border-color .2s,background .15s;margin:.25rem 0}.discovery-try:hover{border-color:#c4704b;background:#fef9f0}.discovery-admin{background:#fef3e0;border-left:3px solid #c4704b;padding:.5rem .75rem;border-radius:0 6px 6px 0;font-size:.74rem;margin:.5rem 0 .25rem!important;color:#5a3e2b}.discovery-dismiss{display:inline-block;margin-top:.75rem;padding:.4rem 1rem;background:#c4704b;color:#fff;border:none;border-radius:6px;font-family:var(--ops-font-mono, "DM Mono", monospace);font-size:.74rem;font-weight:500;cursor:pointer;transition:background .2s,transform .15s}.discovery-dismiss:hover{background:#a85d3d;transform:translateY(-1px)}.discovery-retrigger{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;font-family:var(--ops-font-mono, "DM Mono", monospace);font-size:.65rem;color:#a09080;cursor:pointer;padding:.25rem .35rem;margin-top:.25rem;border-radius:4px;transition:color .2s,background .15s}.discovery-retrigger:hover{color:#c4704b;background:#fef9f0}.mobile-chat{flex:1;display:flex;flex-direction:column;min-height:0}.mobile-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:.75rem;scroll-behavior:smooth}.mobile-chat .msg{margin-bottom:.75rem}.mobile-chat .msg-user{display:flex;flex-direction:column;align-items:flex-end}.mobile-chat .msg-user .msg-bubble{max-width:85%}.mobile-chat .msg-response .msg-bubble,.mobile-chat .msg-system .msg-bubble{max-width:92%}.mobile-chat .msg-bubble{min-width:0;overflow:hidden}.mobile-chat .msg-bubble :global(.record-table-wrapper){overflow-x:auto;max-width:100%}.mobile-chat .msg-head,.mobile-chat .msg-index{display:none}.mobile-chat .input-wrap{flex-shrink:0;padding:.5rem .75rem .75rem}.mobile-chat .input-wrap textarea{font-size:.88rem}.mobile-chat .input-actions .btn{font-size:.72rem;padding:.2rem .4rem}.mobile-chat .eb-trigger{padding:.18rem .4rem!important;font-size:.68rem!important}.mobile-chat .eb-trigger-name{max-width:70px}.mobile-chat .welcome{padding:1.5rem 1rem}.mobile-chat .welcome h1{font-size:2rem}.mobile-chat .discovery-card{padding:1rem 1.15rem;font-size:.74rem;margin-bottom:1rem}.mobile-chat .discovery-try{font-size:.72rem;padding:.35rem .55rem}@media(max-width:767.98px){.app-nav{height:48px;min-height:48px;padding:0 .75rem}.app-nav .brand-name{font-size:.82rem}.app-nav .brand-logo{max-height:22px}.app-nav .brand-powered{display:none}.app-nav .btn{padding:.2rem .35rem}}.settings-tabs{margin-bottom:-1px}.settings-tabs .nav-link{font-size:.82rem;padding:.5rem .75rem;color:var(--ops-text-dim);border:none;border-bottom:2px solid transparent;border-radius:0;transition:color .15s,border-color .15s}.settings-tabs .nav-link:hover{color:var(--ops-text);border-bottom-color:var(--ops-border)}.settings-tabs .nav-link.active{color:var(--ops-primary);border-bottom-color:var(--ops-primary);background:transparent}.settings-tabs .nav-link i{font-size:.85rem}.modal-xl .modal-content,.modal-lg .modal-content,.modal-sm .modal-content{border-radius:var(--ops-radius)}.modal-body .list-group-item-action.active{background-color:var(--ops-primary);border-color:var(--ops-primary);color:#fff}.modal-body .list-group-item-action:hover:not(.active){background-color:var(--ops-surface-raised)}.modal-body table .form-control-sm,.modal-body table .form-select-sm{font-size:.82rem}.briefing-card{background:var(--ops-surface-raised, #f8f9fa);border:1px solid var(--ops-border, rgba(128, 128, 128, .15));border-radius:var(--ops-radius, .5rem);overflow:hidden;font-size:.85rem}.briefing-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--ops-border, rgba(128, 128, 128, .1))}.briefing-greeting{display:flex;align-items:baseline;gap:.75rem}.briefing-greeting-text{font-weight:600;font-size:1rem;color:var(--ops-text, #212529)}.briefing-time{font-size:.78rem;color:var(--ops-text-dim, #6c757d);font-variant-numeric:tabular-nums}.briefing-dismiss{background:none;border:none;color:var(--ops-text-dim, #6c757d);cursor:pointer;padding:.25rem;line-height:1;border-radius:.25rem;transition:color .15s,background .15s}.briefing-dismiss:hover{color:var(--ops-text, #212529);background:#8080801a}.briefing-section{padding:.6rem 1rem;border-bottom:1px solid var(--ops-border, rgba(128, 128, 128, .08))}.briefing-section:last-child{border-bottom:none}.briefing-section-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;font-weight:600;font-size:.82rem;color:var(--ops-text, #212529)}.briefing-section-header i{color:var(--ops-primary, #4f46e5);font-size:.9rem}.briefing-section-count{font-weight:400;color:var(--ops-text-dim, #6c757d);font-size:.78rem}.briefing-overdue-badge{font-size:.7rem;font-weight:500;color:#dc3545;background:#dc35451a;padding:.1rem .4rem;border-radius:999px;margin-left:.25rem}.briefing-items{display:flex;flex-direction:column;gap:.15rem}.briefing-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.82rem;color:var(--ops-text, #212529);border-radius:.25rem}.briefing-item-time{font-variant-numeric:tabular-nums;font-weight:500;min-width:3.2rem;color:var(--ops-primary, #4f46e5);font-size:.8rem}.briefing-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.briefing-item-status{font-size:.72rem;font-weight:500;padding:.1rem .35rem;border-radius:999px;background:#8080801a;color:var(--ops-text-dim, #6c757d);white-space:nowrap}.briefing-item-overdue .briefing-item-name{color:#dc3545}.briefing-item-overdue .briefing-item-status{background:#dc35451a;color:#dc3545}.briefing-item-action{font-size:.72rem;color:var(--ops-text-dim, #6c757d);text-transform:capitalize}.briefing-item-entity{font-size:.72rem;color:var(--ops-text-dim, #6c757d);font-style:italic}.briefing-item-actor{font-size:.72rem;color:var(--ops-text-dim, #6c757d);white-space:nowrap}.briefing-item-more{color:var(--ops-text-dim, #6c757d);font-style:italic;font-size:.78rem}.briefing-section-action{display:inline-flex;align-items:center;gap:.3rem;margin-top:.35rem;padding:.2rem 0;font-size:.75rem;font-weight:500;color:var(--ops-primary, #4f46e5);background:none;border:none;cursor:pointer;transition:opacity .15s}.briefing-section-action:hover{opacity:.75}.briefing-pattern{border-left:3px solid transparent}.briefing-pattern-info{border-left-color:var(--ops-primary, #4f46e5)}.briefing-pattern-warning{border-left-color:#f59e0b}.briefing-pattern-critical{border-left-color:#ef4444}.briefing-pattern-desc{margin:.15rem 0 .25rem;font-size:.8em;color:var(--bs-secondary-color)}.briefing-pattern-actions{display:flex;flex-direction:column;gap:.1rem;margin-top:.25rem}@media(max-width:767.98px){.briefing-card{font-size:.82rem}.briefing-greeting-text{font-size:.92rem}.briefing-header{padding:.6rem .75rem}.briefing-section{padding:.5rem .75rem}}.pinned-views-container{display:flex;flex-direction:column;gap:.5rem}.pinned-view-card{background:var(--ops-surface, #ffffff);border:1px solid var(--ops-border, #e4e4e7);border-left:3px solid var(--ops-primary, #0891b2);border-radius:var(--ops-radius, 10px);overflow:hidden;font-size:.84rem;transition:box-shadow .15s ease}.pinned-view-card:hover{box-shadow:var(--ops-shadow, 0 1px 4px rgba(0, 0, 0, .06))}.pinned-view-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--ops-border-subtle, #f0f0f2)}.pinned-view-title{display:flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;font-weight:600;font-size:.82rem;color:var(--ops-text, #09090b);padding:0;transition:color .15s}.pinned-view-title:hover{color:var(--ops-primary, #0891b2)}.pinned-view-title i{color:var(--ops-primary, #0891b2);font-size:.9rem}.pinned-view-count{font-weight:400;color:var(--ops-text-dim, #3f3f46);font-size:.78rem}.pinned-view-actions{display:flex;align-items:center;gap:.15rem}.pinned-view-toggle,.pinned-view-close{background:none;border:none;color:var(--ops-text-muted, #a1a1aa);cursor:pointer;padding:.15rem .3rem;line-height:1;border-radius:4px;font-size:.78rem;transition:color .15s,background .15s}.pinned-view-toggle:hover,.pinned-view-close:hover{color:var(--ops-text, #09090b);background:var(--ops-surface-raised, #f4f4f5)}.pinned-view-body{padding:.25rem .75rem .5rem}.pinned-view-row{display:flex;align-items:center;gap:.5rem;padding:.2rem 0;font-size:.82rem;color:var(--ops-text-dim, #3f3f46);border-bottom:1px solid var(--ops-border-subtle, #f0f0f2)}.pinned-view-row:last-child{border-bottom:none}.pinned-view-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.pinned-view-cell-primary{font-weight:500;color:var(--ops-text, #09090b);flex:1;min-width:0}.pinned-view-empty{color:var(--ops-text-muted, #a1a1aa);font-size:.78rem;font-style:italic;padding:.25rem 0}.pinned-view-more{display:inline-flex;align-items:center;gap:.25rem;margin-top:.2rem;padding:.15rem 0;font-size:.75rem;font-weight:500;color:var(--ops-primary, #0891b2);background:none;border:none;cursor:pointer;transition:opacity .15s}.pinned-view-more:hover{opacity:.7}.pinned-view-collapsed .pinned-view-header{border-bottom:none}@media(max-width:767.98px){.pinned-view-card{font-size:.82rem}.pinned-view-cell{max-width:140px}}.kpi-panel{background:var(--ops-surface, #ffffff);border:1px solid var(--ops-border, #e4e4e7);border-left:3px solid var(--ops-accent, #6366f1);border-radius:var(--ops-radius, 10px);overflow:hidden;font-size:.84rem;transition:box-shadow .15s ease}.kpi-panel:hover{box-shadow:var(--ops-shadow, 0 1px 4px rgba(0, 0, 0, .06))}.kpi-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--ops-border-subtle, #f0f0f2)}.kpi-panel-title{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.82rem;color:var(--ops-text, #09090b)}.kpi-panel-title i{color:var(--ops-accent, #6366f1);font-size:.9rem}.kpi-panel-actions{display:flex;align-items:center;gap:.15rem}.kpi-panel-toggle,.kpi-panel-close{background:none;border:none;color:var(--ops-text-muted, #a1a1aa);cursor:pointer;padding:.15rem .3rem;line-height:1;border-radius:4px;font-size:.78rem;transition:color .15s,background .15s}.kpi-panel-toggle:hover,.kpi-panel-close:hover{color:var(--ops-text, #09090b);background:var(--ops-surface-raised, #f4f4f5)}.kpi-panel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.5rem .75rem .65rem}.kpi-stat{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:var(--ops-surface-raised, #f9fafb);border-radius:8px;transition:background .15s}.kpi-stat:hover{background:var(--ops-surface-raised-hover, #f0f0f2)}.kpi-stat-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:6px;background:var(--ops-accent-subtle, #eef2ff);color:var(--ops-accent, #6366f1);font-size:.85rem;flex-shrink:0}.kpi-stat-content{display:flex;flex-direction:column;min-width:0}.kpi-stat-value{font-weight:700;font-size:1rem;line-height:1.2;color:var(--ops-text, #09090b)}.kpi-stat-label{font-size:.7rem;color:var(--ops-text-muted, #a1a1aa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-panel-collapsed .kpi-panel-header{border-bottom:none}@media(max-width:767.98px){.kpi-panel-grid{grid-template-columns:repeat(2,1fr)}.kpi-stat-value{font-size:.9rem}}.completed-away-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;margin:.5rem .75rem;font-family:var(--ops-font-mono, "DM Mono", monospace);font-size:.72rem;font-weight:500;color:var(--bs-success-text-emphasis, #0a3622);background:var(--bs-success-bg-subtle, #d1e7dd);border:1px solid var(--bs-success-border-subtle, #a3cfbb);border-radius:8px;line-height:1.4}.completed-away-dismiss{margin-left:auto;background:none;border:none;padding:0 .2rem;cursor:pointer;color:inherit;opacity:.6;font-size:.9rem;line-height:1;transition:opacity .15s}.completed-away-dismiss:hover{opacity:1}.trial-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;margin:.5rem .75rem;font-family:DM Mono,monospace;font-size:.72rem;font-weight:500;color:var(--ops-text, #2c2520);background:#fef9f0;border:1px solid #f0d9b5;border-radius:8px;line-height:1.4}.trial-banner.trial-expired{background:#fef2f2;border-color:#e8b4b4;color:#7c2d2d}.trial-banner a{color:var(--ops-primary, #c4704b);text-decoration:underline;text-underline-offset:2px;font-weight:600}.trial-banner a:hover{color:var(--ops-primary-hover, #a85d3d)}.trial-icon{font-size:.85rem;flex-shrink:0}@media(max-width:767.98px){.trial-banner{margin:.35rem .5rem;font-size:.68rem;padding:.4rem .65rem}}.grid-workspace{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.entity-tab-bar{display:flex;align-items:center;gap:0;height:36px;min-height:36px;border-bottom:1px solid var(--ops-border);background:var(--ops-surface);padding:0 .5rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;flex-shrink:0}.entity-tab-bar::-webkit-scrollbar{display:none}.entity-tab{display:inline-flex;align-items:center;gap:.35rem;padding:0 .75rem;height:100%;border:none;border-bottom:2px solid transparent;background:none;color:var(--ops-text-muted);font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;margin-bottom:-1px}.entity-tab:hover{color:var(--ops-text)}.entity-tab.active{color:var(--ops-text);border-bottom-color:var(--ops-primary);font-weight:600}.entity-tab-count{font-size:.68rem;padding:.05rem .35rem;border-radius:10px;background:var(--ops-bg);color:var(--ops-text-muted);font-weight:400}.entity-tab.active .entity-tab-count{background:color-mix(in srgb,var(--ops-primary) 12%,transparent);color:var(--ops-primary)}.entity-tab-add{color:var(--ops-text-muted);padding:0 .5rem;font-size:.9rem;opacity:.6}.entity-tab-add:hover{opacity:1;color:var(--ops-primary)}.view-mode-toggle{display:flex;align-items:center;gap:.15rem;padding:0 .5rem;border-left:1px solid var(--ops-border);margin-left:.25rem;height:100%}.view-mode-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:4px;background:none;color:var(--ops-text-muted);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.view-mode-btn:hover{background:var(--ops-bg);color:var(--ops-text)}.view-mode-btn.active{background:color-mix(in srgb,var(--ops-primary) 12%,transparent);color:var(--ops-primary)}.tab-bar-controls{display:flex;align-items:center;gap:.15rem;padding-left:.5rem;border-left:1px solid var(--ops-border);height:100%}.tab-control-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:4px;background:none;color:var(--ops-text-muted);font-size:.8rem;cursor:pointer;transition:background .15s,color .15s}.tab-control-btn:hover,.tab-control-btn.active{background:var(--ops-bg);color:var(--ops-text)}.grid-area{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;position:relative;background:var(--ops-surface)}.grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem;color:var(--ops-text-secondary);padding:2rem;text-align:center}.grid-empty p{margin:0}.grid-empty-examples{display:flex;flex-direction:column;gap:.4rem;margin-top:.5rem;width:100%;max-width:480px}.grid-empty-example{padding:.5rem .75rem;border:1px solid var(--ops-border);border-radius:6px;background:var(--ops-surface);color:var(--ops-text-dim);font-size:.82rem;text-align:left;cursor:pointer;transition:border-color .15s,color .15s}.grid-empty-example:hover{border-color:var(--ops-primary);color:var(--ops-text)}.history-drawer{position:absolute;top:0;right:0;width:320px;max-height:100%;background:var(--ops-surface);border-left:1px solid var(--ops-border);z-index:20;display:flex;flex-direction:column;overflow:hidden;box-shadow:-4px 0 12px #0000000f}.history-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--ops-border);font-size:.78rem;font-weight:600;color:var(--ops-text)}.history-header button{border:none;background:none;color:var(--ops-text-muted);cursor:pointer;padding:.1rem .25rem}.history-empty{padding:1rem;font-size:.8rem;color:var(--ops-text-muted);text-align:center}.history-item{padding:.5rem .75rem;border:none;border-bottom:1px solid var(--ops-border);background:none;color:var(--ops-text-dim);font-size:.8rem;text-align:left;cursor:pointer;width:100%;transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item:hover{background:var(--ops-bg);color:var(--ops-text)}.grid-status-bar{flex-shrink:0;display:flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;color:var(--ops-text-muted);border-top:1px solid var(--ops-border);background:var(--ops-bg);min-height:28px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.grid-status-bar.success{color:var(--ops-text-dim)}.grid-status-bar.error{color:var(--bs-danger)}.grid-status-bar.warning{color:var(--bs-warning)}.command-bar{flex-shrink:0;border-top:1px solid var(--ops-border);background:var(--ops-surface);padding:.5rem .75rem}.cmd-input-wrap{display:flex;flex-direction:column;gap:.3rem}.cmd-textarea{width:100%;resize:none;border:1px solid var(--ops-border);border-radius:6px;padding:.45rem .65rem;font-size:.85rem;font-family:inherit;background:var(--ops-bg);color:var(--ops-text);outline:none;transition:border-color .15s;line-height:1.4;min-height:36px;max-height:120px;overflow-y:auto}.cmd-textarea:focus{border-color:var(--ops-primary)}.cmd-textarea::placeholder{color:var(--ops-text-muted);font-size:.82rem}.cmd-actions{display:flex;align-items:center;justify-content:flex-end;gap:.35rem}.wizard-body{padding:.25rem 0 .5rem}.btn-primary-full,.btn-primary-sm{display:inline-flex;align-items:center;justify-content:center;background:var(--ops-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.84rem;font-weight:600;transition:background .15s}.btn-primary-full{padding:.55rem 1.2rem;width:100%}.btn-primary-sm{padding:.45rem 1rem}.btn-primary-full:hover:not(:disabled),.btn-primary-sm:hover:not(:disabled){background:var(--ops-primary-hover)}.btn-primary-full:disabled,.btn-primary-sm:disabled{opacity:.5;cursor:not-allowed}.btn-secondary-full{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--ops-text-dim);border:1.5px solid var(--ops-border);border-radius:8px;padding:.55rem 1.2rem;width:100%;font-size:.84rem;font-weight:600;cursor:pointer}.btn-secondary-sm{display:inline-flex;align-items:center;background:transparent;color:var(--ops-text-dim);border:1.5px solid var(--ops-border);border-radius:7px;padding:.4rem .875rem;font-size:.82rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.btn-secondary-sm:hover:not(:disabled){border-color:var(--ops-primary);color:var(--ops-primary)}.btn-secondary-sm:disabled{opacity:.45;cursor:not-allowed}.ff-drop-zone{margin:.75rem .5rem;border:2.5px dashed var(--ops-border);border-radius:14px;padding:2.5rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;transition:border-color .15s,background .15s;cursor:pointer;background:var(--ops-surface-raised)}.ff-drop-zone:hover,.ff-drop-zone.ff-dragging{border-color:var(--ops-primary);background:var(--ops-primary-subtle)}.ff-drop-icon{font-size:2rem;color:var(--ops-text-muted);margin-bottom:.5rem}.ff-drop-zone.ff-dragging .ff-drop-icon{color:var(--ops-primary)}.ff-drop-title{font-size:.92rem;font-weight:700;color:var(--ops-text-dim)}.ff-drop-sub{font-size:.78rem;color:var(--ops-text-muted);line-height:1.5;max-width:280px}.ff-drop-browse{font-size:.78rem;color:var(--ops-text-muted);margin-top:.25rem}.ff-browse-link{color:var(--ops-primary);font-weight:600}.ff-source-hints{display:flex;gap:.5rem;justify-content:center;margin:.25rem 0 .75rem;flex-wrap:wrap}.ff-hint{font-size:.72rem;color:var(--ops-text-muted);background:var(--ops-surface-raised);border:1px solid var(--ops-border);border-radius:20px;padding:3px 10px}.ff-back-row{display:flex;justify-content:flex-start;padding:.25rem .5rem}.ff-review-header{padding:.75rem 1rem .5rem;border-bottom:1px solid var(--ops-border-subtle)}.ff-review-title{font-size:.92rem;font-weight:700;color:var(--ops-text-dim);margin-bottom:.15rem}.ff-review-sub{font-size:.78rem;color:var(--ops-text-muted)}.ff-assignment-list{display:flex;flex-direction:column;gap:.5rem;padding:.75rem .75rem .25rem}.ff-assignment-card{border:1.5px solid var(--ops-border);border-radius:10px;overflow:hidden;background:var(--ops-surface)}.ff-card-error{border-color:#dc262640;background:var(--ops-danger-subtle)}.ff-card-undetected{border-color:#d9770640;background:var(--ops-warning-subtle)}.ff-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;background:var(--ops-surface-raised);border-bottom:1px solid var(--ops-border-subtle);flex-wrap:wrap}.ff-card-file{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0}.ff-file-name{font-size:.8rem;font-weight:600;color:var(--ops-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-row-count{font-size:.7rem;color:var(--ops-text-muted);flex-shrink:0}.ff-card-controls{display:flex;align-items:center;gap:.4rem;flex-shrink:0}.ff-entity-select{font-size:.78rem;padding:.25rem .5rem;border:1px solid var(--ops-border);border-radius:6px;background:var(--ops-surface);color:var(--ops-text);max-width:160px}.ff-col-summary{display:flex;gap:.75rem;padding:.45rem .75rem;background:var(--ops-surface-raised);border-bottom:1px solid var(--ops-border-subtle);flex-wrap:wrap}.ff-col-matched{font-size:.73rem;color:var(--ops-text-muted)}.ff-col-missing{font-size:.73rem;color:var(--ops-warning);font-weight:600}.ff-preview-wrap{overflow-x:auto;max-height:120px}.ff-preview-tbl{width:100%;border-collapse:collapse;font-size:.71rem}.ff-preview-tbl th{background:var(--ops-surface-raised);padding:4px 8px;text-align:left;font-weight:600;color:var(--ops-text-muted);border-bottom:1px solid var(--ops-border);white-space:nowrap}.ff-preview-tbl td{padding:3px 8px;color:var(--ops-text);border-bottom:1px solid var(--ops-border-subtle);white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.ff-card-err-msg{padding:.5rem .75rem;font-size:.78rem;color:var(--ops-danger)}.ff-undetected-msg{padding:.5rem .75rem;font-size:.78rem;color:var(--ops-warning)}.ff-confidence{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:2px 6px}.ff-conf-high{background:var(--ops-accent-subtle);color:var(--ops-accent)}.ff-conf-med{background:var(--ops-warning-subtle);color:var(--ops-warning)}.ff-conf-low{background:var(--ops-danger-subtle);color:var(--ops-danger)}.ff-conf-new{background:#d2f4ea;color:#0a3622}.ff-import-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border-top:1px solid var(--ops-border-subtle)}.ff-importing-card{margin:.75rem;border:1.5px solid var(--ops-border);border-radius:10px;overflow:hidden}.ff-importing-title{display:flex;align-items:center;padding:.75rem 1rem;font-size:.88rem;font-weight:700;color:var(--ops-text-dim);background:var(--ops-surface-raised);border-bottom:1px solid var(--ops-border)}.ff-prog-list{display:flex;flex-direction:column}.ff-prog-row{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;border-bottom:1px solid var(--ops-border-subtle)}.ff-prog-row:last-child{border-bottom:none}.ff-prog-status{flex-shrink:0;font-size:.9rem;width:1rem}.ff-prog-info{flex:1;min-width:0}.ff-prog-label{font-size:.82rem;font-weight:600;color:var(--ops-text-dim);display:block}.ff-prog-file{font-size:.72rem;color:var(--ops-text-muted)}.ff-prog-stats{display:flex;gap:.4rem;flex-shrink:0}.ff-prog-err{font-size:.72rem;color:var(--ops-danger);flex-shrink:0;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-prog-errors{grid-column:1/-1;font-size:.72rem;color:var(--ops-danger);margin-top:.25rem}.ff-prog-err-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:360px}.result-errors{font-size:.72rem;color:var(--ops-danger);margin-top:.2rem}.result-err-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.ff-rel-panel{margin:0 .75rem .5rem;border:1.5px solid rgba(59,130,246,.2);border-radius:10px;overflow:hidden;background:var(--ops-surface)}.ff-rel-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .875rem;background:#3b82f60d;border-bottom:1px solid rgba(59,130,246,.15);font-size:.8rem;font-weight:700;color:#3b82f6}.ff-rel-header-left{flex:1}.ff-rel-sub{font-weight:400;color:var(--ops-text-muted)}.ff-rel-list{display:flex;flex-direction:column}.ff-rel-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .875rem;border-bottom:1px solid var(--ops-border-subtle);transition:opacity .15s}.ff-rel-row:last-child{border-bottom:none}.ff-rel-dismissed{opacity:.4}.ff-rel-toggle{background:none;border:none;cursor:pointer;padding:0;font-size:.95rem;flex-shrink:0;line-height:1}.ff-rel-path{flex:1;font-size:.77rem;color:var(--ops-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-rel-file{color:var(--ops-text-dim);font-weight:600}.ff-rel-col{color:#3b82f6;font-family:var(--ops-font-mono);font-size:.72rem}.ff-rel-meta{display:flex;gap:.35rem;align-items:center;flex-shrink:0}.ff-rel-overlap{font-size:.7rem;color:var(--ops-text-muted)}.ff-rel-add-btn{background:none;border:1px solid rgba(59,130,246,.3);border-radius:6px;color:#3b82f6;font-size:.72rem;font-weight:600;padding:2px 8px;cursor:pointer;transition:background .12s}.ff-rel-add-btn:hover{background:#3b82f614}.ff-rel-edit-btn{background:none;border:none;color:var(--ops-text-muted);padding:2px 4px;border-radius:4px;cursor:pointer;font-size:.78rem;transition:color .12s,background .12s}.ff-rel-edit-btn:hover{color:var(--ops-text-dim);background:var(--ops-surface-raised)}.ff-rel-editing{background:var(--ops-surface-raised);flex-wrap:wrap;gap:0!important;padding:.5rem .75rem .4rem!important;align-items:flex-start!important}.ff-rel-edit-form{flex:1;display:flex;flex-direction:column;gap:.35rem}.ff-rel-edit-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.ff-rel-edit-label{font-size:.7rem;font-weight:700;color:var(--ops-text-muted);text-transform:uppercase;letter-spacing:.04em;min-width:46px}.ff-rel-edit-dot{color:var(--ops-text-muted);font-size:.8rem;font-weight:700}.ff-rel-select{font-size:.75rem;padding:.2rem .4rem;border:1px solid var(--ops-border);border-radius:5px;background:var(--ops-surface);color:var(--ops-text);max-width:160px;min-width:80px}.ff-rel-select-col{color:#3b82f6;font-family:var(--ops-font-mono);max-width:140px}.ff-rel-edit-actions{display:flex;align-items:center;gap:.35rem;margin-top:.2rem;justify-content:flex-end}.ff-rel-done-btn{background:var(--ops-primary);color:#fff;border:none;border-radius:5px;padding:3px 12px;font-size:.75rem;font-weight:600;cursor:pointer}.ff-rel-done-btn:hover{background:var(--ops-primary-hover)}.ff-rel-remove-btn{background:none;border:none;color:var(--ops-danger);padding:3px 6px;border-radius:5px;cursor:pointer;font-size:.8rem;transition:background .12s}.ff-rel-remove-btn:hover{background:var(--ops-danger-subtle)}.connect-panel{background:var(--ops-surface-raised);border:1px solid var(--ops-border);border-radius:9px;padding:.875rem;text-align:left}.ref-validation-panel{margin:0 1.125rem;border:1.5px solid var(--ops-border);border-radius:9px;overflow:hidden}.ref-val-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .875rem;background:var(--ops-surface-raised);border-bottom:1px solid var(--ops-border)}.ref-val-title{font-size:.78rem;font-weight:700;color:var(--ops-text-dim)}.ref-val-counts{display:flex;gap:.5rem;align-items:center}.ref-count{font-size:.72rem;font-weight:600;padding:2px 7px;border-radius:4px}.ref-count.ok{background:var(--ops-accent-subtle);color:var(--ops-accent)}.ref-count.fail{background:var(--ops-danger-subtle);color:var(--ops-danger)}.ref-unresolved-list{padding:.5rem .875rem;border-bottom:1px solid var(--ops-border);display:flex;flex-direction:column;gap:.35rem}.ref-unresolved-row{display:flex;align-items:center;gap:.5rem;font-size:.73rem;flex-wrap:wrap}.ref-row-num{font-size:.65rem;font-weight:700;color:var(--ops-text-muted);background:var(--ops-surface-raised);border-radius:4px;padding:1px 5px;flex-shrink:0}.ref-field-name{font-family:var(--ops-font-mono);font-size:.7rem;color:var(--ops-text-muted)}.wizard-idle{padding:1.5rem .5rem;max-width:440px;margin:0 auto;text-align:center}.btn-ghost{background:none;border:none;color:var(--ops-text-muted);font-size:.82rem;cursor:pointer;padding:.3rem .5rem;border-radius:6px;transition:color .15s,background .15s}.btn-ghost:hover{color:var(--ops-text-dim);background:var(--ops-surface-raised)}.btn-ghost.danger{color:var(--ops-danger)}.btn-ghost.danger:hover{background:var(--ops-danger-subtle)}.btn-download{display:inline-flex;align-items:center;gap:.4rem;background:none;border:1px solid var(--ops-border);border-radius:7px;padding:.35rem .875rem;font-size:.8rem;color:var(--ops-text-dim);cursor:pointer;transition:border-color .15s,color .15s}.btn-download:hover{border-color:var(--ops-primary);color:var(--ops-primary)}.btn-warning{display:inline-flex;align-items:center;background:var(--ops-warning-subtle);color:var(--ops-warning);border:1px solid rgba(217,119,6,.2);border-radius:7px;padding:.35rem .875rem;font-size:.82rem;font-weight:500;cursor:pointer}.alert-error{background:var(--ops-danger-subtle);border:1px solid rgba(220,38,38,.2);border-radius:8px;padding:.6rem .875rem;font-size:.82rem;color:var(--ops-danger)}.idle-hero{margin-bottom:1.5rem}.idle-icon{width:52px;height:52px;border-radius:14px;background:var(--ops-primary-subtle);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--ops-primary);margin:0 auto 1rem}.idle-title{font-size:1rem;font-weight:700;margin-bottom:.4rem}.idle-desc{font-size:.8rem;color:var(--ops-text-muted);line-height:1.6;margin-bottom:0}.idle-actions{display:flex;flex-direction:column;gap:.5rem}.progress-rail{display:flex;align-items:flex-start;justify-content:center;gap:0;padding:1rem .75rem .5rem;overflow-x:auto}.rail-step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:52px;max-width:80px}.rail-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--ops-border);background:var(--ops-surface);display:flex;align-items:center;justify-content:center;font-size:.65rem;z-index:1;transition:border-color .2s,background .2s}.rail-step.rail-done .rail-dot{border-color:var(--ops-accent);background:var(--ops-accent);color:#fff}.rail-step.rail-active .rail-dot{border-color:var(--ops-primary);background:var(--ops-primary);color:#fff}.rail-label{font-size:.62rem;color:var(--ops-text-muted);margin-top:.3rem;text-align:center;line-height:1.2;max-width:64px;word-break:break-word}.rail-step.rail-done .rail-label{color:var(--ops-accent);font-weight:600}.rail-step.rail-active .rail-label{color:var(--ops-primary);font-weight:600}.rail-connector{position:absolute;top:9px;left:calc(50% + 10px);right:calc(-50% + 10px);height:2px;background:var(--ops-border);transition:background .2s}.rail-connector.rail-done{background:var(--ops-accent)}.entity-card{border:1.5px solid var(--ops-border);border-radius:12px;overflow:hidden;background:var(--ops-surface)}.card-head{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--ops-surface-raised);border-bottom:1px solid var(--ops-border-subtle)}.card-foot{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;border-top:1px solid var(--ops-border-subtle)}.entity-emoji{font-size:1.5rem;flex-shrink:0}.entity-name{font-size:.95rem;font-weight:700;color:var(--ops-text-dim)}.entity-meta{font-size:.75rem;color:var(--ops-text-muted);margin-top:.1rem}.step-counter{font-size:.75rem;color:var(--ops-text-muted);margin-left:auto;flex-shrink:0}.fields-row{display:flex;flex-wrap:wrap;gap:.35rem;padding:.75rem 1rem}.field-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--ops-surface-raised);border:1px solid var(--ops-border);border-radius:20px;padding:3px 10px;font-size:.72rem}.field-chip.chip-required{border-color:#d9770659;background:var(--ops-warning-subtle)}.field-chip.chip-link{border-color:#3b82f659;background:#3b82f60f}.chip-name{font-weight:600;color:var(--ops-text-dim)}.chip-type{color:var(--ops-text-muted);font-size:.65rem}.chip-req{color:var(--ops-warning);font-weight:700;font-size:.7rem}.template-cta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--ops-border-subtle);background:#4f6ef708}.cta-body{flex:1}.cta-title{font-size:.82rem;font-weight:700;color:var(--ops-text-dim);margin-bottom:.15rem}.cta-desc{font-size:.75rem;color:var(--ops-text-muted);line-height:1.4}.drop-zone{border:2px dashed var(--ops-border);border-radius:10px;padding:1.5rem 1rem;margin:.75rem 1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.drop-zone:hover{border-color:var(--ops-primary);background:var(--ops-primary-subtle)}.drop-icon{font-size:1.6rem;color:var(--ops-text-muted);margin-bottom:.3rem}.drop-title{font-size:.85rem;font-weight:600;color:var(--ops-text-dim)}.drop-sub{font-size:.75rem;color:var(--ops-text-muted)}.drop-link{font-size:.75rem;color:var(--ops-primary);font-weight:500;margin-top:.2rem}.warnings-box{background:var(--ops-warning-subtle);border-bottom:1px solid rgba(217,119,6,.15);padding:.5rem 1rem}.warning-item{font-size:.78rem;color:var(--ops-warning);padding:.15rem 0}.mapping-list{display:flex;flex-direction:column;gap:0}.map-row{display:flex;align-items:center;gap:.5rem;padding:.45rem 1rem;border-bottom:1px solid var(--ops-border-subtle)}.map-row:last-child{border-bottom:none}.map-src{font-size:.78rem;font-weight:500;color:var(--ops-text-dim);flex:0 0 120px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-arrow{font-size:.75rem;color:var(--ops-text-muted);flex-shrink:0}.map-select{font-size:.78rem;padding:.2rem .4rem;border:1px solid var(--ops-border);border-radius:5px;background:var(--ops-surface);color:var(--ops-text);flex:1}.map-tag{font-size:.65rem;font-weight:700;padding:1px 6px;border-radius:4px;flex-shrink:0}.section-block{padding:.75rem 1rem;border-bottom:1px solid var(--ops-border-subtle)}.section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ops-text-muted);margin-bottom:.4rem}.section-label-sub{font-weight:400;text-transform:none;letter-spacing:0}.confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--ops-border-subtle)}.confirm-info{font-size:.78rem;color:var(--ops-text-muted)}.stat{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:4px;background:var(--ops-surface-raised);color:var(--ops-text-muted)}.badge-done{background:var(--ops-accent-subtle);color:var(--ops-accent);font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:4px}.strict-toggle{display:flex;gap:.5rem;padding:.6rem 1rem;border-top:1px solid var(--ops-border-subtle)}.strict-opt{flex:1;display:flex;gap:.5rem;padding:.6rem .75rem;border:1.5px solid var(--ops-border);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}.strict-opt.active{border-color:var(--ops-primary);background:var(--ops-primary-subtle)}.strict-opt-icon{font-size:1rem;flex-shrink:0}.strict-opt-label{font-size:.78rem;font-weight:600;color:var(--ops-text-dim);margin-bottom:.15rem}.strict-opt-badge{font-size:.65rem;background:var(--ops-accent-subtle);color:var(--ops-accent);border-radius:4px;padding:1px 5px;font-weight:700;vertical-align:middle}.strict-opt-desc{font-size:.72rem;color:var(--ops-text-muted);line-height:1.4}.ref-bad-val{font-family:var(--ops-font-mono);color:var(--ops-danger);font-size:.72rem}.ref-suggestion{color:var(--ops-accent);font-size:.72rem}.ref-more{font-size:.72rem;color:var(--ops-text-muted);padding:.35rem .875rem}.ref-no-match{font-size:.72rem;color:var(--ops-danger);font-style:italic}.tag-req{background:var(--ops-warning-subtle);color:var(--ops-warning);font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:3px}.tag-link{background:#3b82f61a;color:#3b82f6;font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:3px}cookie-consent-banner::part(toggle),.cookieConsentToggle{width:40px;height:40px;position:fixed;will-change:transform;padding:9px;border:0;box-shadow:0 0 10px #0000004d;background:#fff;border-radius:50%;bottom:20px;right:20px;transition:.2s;opacity:1;z-index:99980}cookie-consent-banner::part(toggle):hover,.cookieConsentToggle:hover{color:#fff;background:#000}cookie-consent-banner::part(wrapper),.cookieConsentWrapper{z-index:99990;position:fixed;left:0;right:0;bottom:0;background:#000;color:#fff;padding:20px;transition:.2s}cookie-consent-banner::part(consent),.cookieConsent{margin:0 auto;display:flex;justify-content:space-between}cookie-consent-banner::part(consent--content),.cookieConsent__Content{margin-right:40px}cookie-consent-banner::part(consent--title),.cookieConsent__Title{margin:0;font-weight:700}cookie-consent-banner::part(consent--description),.cookieConsent__Description{margin:10px 0 0}cookie-consent-banner::part(consent--description-link),.cookieConsent__Description a{color:#fff;text-decoration:underline}cookie-consent-banner::part(consent--description-link):hover,.cookieConsent__Description a:hover{text-decoration:none}cookie-consent-banner::part(consent--right),.cookieConsent__Right{display:flex;align-items:flex-end}cookie-consent-banner::part(operations),.cookieConsentOperations{position:fixed;inset:0;background:#000c;display:flex;transition:.3s;will-change:transform;z-index:99999}cookie-consent-banner::part(operations--list),.cookieConsentOperations .cookieConsentOperations__List{transform:scale(1)}cookie-consent-banner::part(operations--list),.cookieConsentOperations__List{background:#fff;color:#000;max-width:500px;padding:40px;margin:auto;overflow-y:auto;box-sizing:border-box;max-height:100vh;transition:.2s transform;will-change:transform;transform:scale(.95)}cookie-consent-banner::part(operations--list-item),.cookieConsentOperations__Item{display:block;padding-left:60px;margin-bottom:20px}cookie-consent-banner::part(operations--list-item--disabled),.cookieConsentOperations__Item.disabled{color:#999}cookie-consent-banner::part(operations--list-item--disabled) cookie-consent-banner::part(operations--list-item-label):after,.cookieConsentOperations__Item.disabled label:after{opacity:.3}cookie-consent-banner::part(operations--list-item-input),.cookieConsentOperations__Item input{display:none}cookie-consent-banner::part(operations--list-item-label),.cookieConsentOperations__Item label{align-items:center;font-size:22px;font-weight:700;display:block;position:relative}cookie-consent-banner::part(operations--list-item-label):before,.cookieConsentOperations__Item label:before{content:"";display:block;left:-60px;background:#dedede;height:20px;border-radius:20px;width:40px;position:absolute;top:50%;transform:translateY(-50%)}cookie-consent-banner::part(operations--list-item-label):after,.cookieConsentOperations__Item label:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#000;position:absolute;top:50%;transform:translateY(-50%);left:-58px;transition:.2s}cookie-consent-banner::part(operations--list-item-label--checked):after,.cookieConsentOperations__Item input:checked+label:after{transform:translate(20px,-50%)}cookie-consent-banner::part(button),.cookieConsent__Button{padding:15px 40px;display:block;background:#fff;color:#000;white-space:nowrap;border:0;font-size:16px;margin-left:10px;cursor:pointer;transition:.2s}cookie-consent-banner::part(button--close),.cookieConsent__Button--Close{background:#000;color:#fff;margin:40px 0 0 60px;padding:15px 60px}cookie-consent-banner::part(button):hover,.cookieConsent__Button:hover{opacity:.6}@media only screen and (max-width:900px){cookie-consent-banner::part(consent),.cookieConsent{display:block}cookie-consent-banner::part(consent--right),.cookieConsent__Right{margin-top:20px}cookie-consent-banner::part(button),.cookieConsent__Button{margin:0 10px 10px 0}cookie-consent-banner::part(button--close),.cookieConsent__Button--Close{margin:40px 0 0}}.global-footer.svelte-12qhfyh{position:fixed;bottom:0;left:0;right:0;z-index:9999;padding:1.2rem 2rem}.global-footer-inner.svelte-12qhfyh{max-width:800px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.global-footer-text.svelte-12qhfyh{font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.7rem;color:#a1a1aa}.global-footer-links.svelte-12qhfyh{display:flex;align-items:center;gap:.5rem}.global-footer-links.svelte-12qhfyh a:where(.svelte-12qhfyh){font-family:JetBrains Mono,SF Mono,Fira Code,monospace;font-size:.72rem;color:#a1a1aa;text-decoration:none;transition:color .2s}.global-footer-links.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:#3f3f46}.global-footer-sep.svelte-12qhfyh{color:#e4e4e7;font-size:.7rem;-webkit-user-select:none;user-select:none}[data-theme=dark] .global-footer-text.svelte-12qhfyh,[data-theme=dark] .global-footer-links.svelte-12qhfyh a:where(.svelte-12qhfyh){color:#71717a}[data-theme=dark] .global-footer-links.svelte-12qhfyh a:where(.svelte-12qhfyh):hover{color:#d4d4d8}[data-theme=dark] .global-footer-sep.svelte-12qhfyh{color:#3f3f46}@media(max-width:768px){.global-footer-inner.svelte-12qhfyh{flex-direction:column;gap:1rem}}cookie-consent-banner::part(wrapper),.cookieConsentWrapper,cookie-consent-banner::part(operations--list),.cookieConsentOperations__List{background:#0891b2}cookie-consent-banner::part(operations--list-item--disabled),.cookieConsentOperations__Item.disabled{color:var(--ops-surface-raised)}cookie-consent-banner::part(button),.cookieConsent__Button{padding:10px 20px;background:var(--ops-surface-raised);border-radius:var(--bs-border-radius-pill)}cookie-consent-banner::part(toggle),.cookieConsentToggle{display:none!important}
