@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=JetBrains+Mono:wght@400;500;700&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-app: #ffffff;--bg-panel: #F9FAFB;--bg-card: #ffffff;--bg-hover: rgba(11,106,11,.07);--bg-selected: rgba(11,106,11,.09);--border-panel: #E5E7EB;--border-interactive: #D1D5DB;--text-primary: #111827;--text-secondary: #6B7280;--brand-green: #0B6A0B;--brand-cta: #0B6A0B;--brand-hover: #085008;--brand-light: rgba(11,106,11,.08);--success: #16A34A;--warning: #D97706;--error: #DC2626;--info: #2563EB;--topbar: 56px;--sidebar: 236px;font-family:DM Sans,Inter,system-ui,sans-serif}html,body,#root{height:100vh;overflow:hidden;background:var(--bg-app);color:var(--text-primary);font-size:14px}:root{--portal-bar-offset: 40px}.topbar{position:fixed;top:var(--portal-bar-offset);left:0;right:0;height:var(--topbar);background:#fff;border-bottom:1px solid var(--border-panel);display:flex;align-items:center;padding:0 20px;gap:16px;z-index:100;box-shadow:0 1px 4px #0000000f;transition:top .28s cubic-bezier(.4,0,.2,1)}.topbar-logo-icon{width:32px;height:32px;background:var(--brand-cta);border-radius:8px;display:flex;align-items:center;justify-content:center}.topbar-logo-icon svg{color:#fff}.topbar-logo-text{font-weight:700;font-size:15px;color:var(--text-primary);letter-spacing:-.3px}.topbar-logo-badge{font-size:9px;font-weight:700;background:var(--brand-cta);color:#fff;border-radius:4px;padding:2px 5px;letter-spacing:.5px;text-transform:uppercase}.topbar-search{flex:1;max-width:480px;margin:0 auto;display:flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border-interactive);border-radius:20px;padding:7px 16px;transition:border-color .15s,box-shadow .15s}.topbar-search:focus-within{border-color:var(--brand-green);box-shadow:0 0 0 3px #0b6a0b1a}.topbar-search svg{color:var(--text-secondary);flex-shrink:0}.topbar-search input{background:none;border:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:13px;width:100%}.topbar-search input::placeholder{color:var(--text-secondary)}.topbar-breadcrumb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);flex:1;min-width:0;overflow:hidden}.topbar-breadcrumb a{color:var(--text-secondary);text-decoration:none;white-space:nowrap}.topbar-breadcrumb a:hover{color:var(--brand-green)}.topbar-breadcrumb .bc-cur{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:10px;margin-left:auto}.icon-btn{width:34px;height:34px;border-radius:8px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.icon-btn:hover{background:var(--bg-panel);color:var(--text-primary)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-cta);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;cursor:pointer}.shell{display:flex;height:100vh;padding-top:calc(var(--topbar) + var(--portal-bar-offset));transition:padding-top .28s cubic-bezier(.4,0,.2,1)}.shell>.sidebar{transition:width .22s cubic-bezier(.4,0,.2,1)}.sidebar{width:var(--sidebar);flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border-panel);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:12px 0 16px;transition:width .22s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:48px;padding:12px 0}.sidebar-section-label{font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-secondary);padding:14px 18px 5px}.nav-item{display:flex;align-items:center;gap:10px;height:40px;padding:0 16px;color:var(--text-secondary);font-size:13px;font-weight:500;border-left:3px solid transparent;text-decoration:none;cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap;overflow:hidden}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--bg-selected);color:var(--brand-green);border-left-color:var(--brand-green);font-weight:600}.nav-item svg{flex-shrink:0}.sidebar.collapsed .nav-item{padding:0;justify-content:center;border-left-color:transparent!important}.sidebar.collapsed .nav-item.active{background:var(--bg-selected);color:var(--brand-green)}.nav-label{overflow:hidden}.lang-switcher{display:flex;align-items:center;gap:2px;background:#f3f4f6;border-radius:8px;padding:2px}.lang-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.lang-btn:hover{background:#e5e7eb;color:var(--text-primary)}.lang-btn.active{background:#fff;color:var(--brand-green);font-weight:600;box-shadow:0 1px 3px #00000014}.lang-flag{font-size:13px;line-height:1}.lang-code{font-size:11px}.exhibit-mode-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-panel);border-radius:7px;background:#fff;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;text-decoration:none}.exhibit-mode-btn:hover{border-color:var(--brand-green);color:var(--brand-green);background:var(--brand-light)}.exhibit-mode-btn svg{flex-shrink:0}.exhibit-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:#fff;z-index:9999;display:flex;flex-direction:column;overflow:hidden;padding-top:var(--portal-bar-offset);transition:padding-top .28s cubic-bezier(.4,0,.2,1)}.exhibit-shell .tour-container{height:100vh}.exhibit-shell .main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.review-history-section{display:flex;flex-direction:column;margin-top:4px}.review-history-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 5px;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:10px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;width:100%;transition:color .12s}.review-history-header:hover{color:var(--text-primary)}.review-history-list{display:flex;flex-direction:column;gap:1px;padding:2px 0}.review-history-item{display:flex;align-items:center;gap:8px;padding:6px 14px;background:none;border:none;cursor:pointer;text-align:left;width:100%;border-radius:0;transition:background .1s;min-width:0}.review-history-item:hover{background:var(--bg-hover)}.review-history-item.collapsed{justify-content:center;padding:7px 0}.rhi-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.rhi-body{display:flex;flex-direction:column;min-width:0;flex:1}.rhi-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.rhi-meta{display:flex;align-items:center;gap:5px;margin-top:1px}.rhi-icon{font-size:10px;line-height:1}.rhi-date{font-size:10px;color:var(--text-secondary)}.rhi-upload-badge{font-size:9px;font-weight:600;background:#3b82f61a;color:#3b82f6;border-radius:3px;padding:1px 4px}.topbar-logo{display:flex;align-items:center;gap:10px;width:var(--sidebar);flex-shrink:0;transition:width .22s cubic-bezier(.4,0,.2,1);overflow:hidden}.topbar-logo.collapsed{width:48px;gap:0}.sidebar-toggle-btn{margin-left:auto;flex-shrink:0;width:26px;height:26px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .12s,color .12s}.sidebar-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.topbar-logo.collapsed .sidebar-toggle-btn{margin-left:0}.nav-badge{margin-left:auto;background:var(--brand-cta);color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 7px}.tab-new-badge{font-size:9px;font-weight:700;background:var(--brand-cta);color:#fff;border-radius:4px;padding:1px 5px;letter-spacing:.3px;margin-left:4px}.main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.main-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:24px}.btn-primary{display:inline-flex;align-items:center;gap:6px;background:var(--brand-cta);color:#fff;border:none;padding:9px 18px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;text-decoration:none;box-shadow:0 1px 2px #0003}.btn-primary:hover{background:var(--brand-hover)}.btn-ghost{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-interactive);padding:8px 16px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s;text-decoration:none}.btn-ghost:hover{background:var(--bg-panel);color:var(--text-primary)}.btn-danger{display:inline-flex;align-items:center;gap:6px;background:var(--error);color:#fff;border:none;padding:9px 18px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#b91c1c}.page-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-panel);padding-bottom:20px;margin-bottom:20px}.page-title{font-size:28px;font-weight:400;letter-spacing:-.25px;color:var(--text-primary)}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.kpi-card{background:#fff;border:1px solid var(--border-panel);border-radius:12px;padding:16px 20px;box-shadow:0 1px 3px #0000000f}.kpi-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:6px}.kpi-value{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700;color:var(--brand-green);line-height:1.1}.kpi-delta{font-size:12px;color:var(--text-secondary);margin-top:4px}.kpi-delta.up{color:var(--success)}.kpi-delta.down{color:var(--error)}.filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:nowrap;padding:12px 16px;border-radius:12px;background:#fff;border:1px solid var(--border-panel);box-shadow:0 1px 2px #0000000f;overflow-x:auto}.filter-select{background:var(--bg-panel);border:1px solid var(--border-interactive);color:var(--text-primary);border-radius:8px;padding:7px 12px;font-family:inherit;font-size:13px;cursor:pointer;outline:none;transition:border-color .15s;flex-shrink:0}.filter-select:focus{border-color:var(--brand-green)}.filter-search{display:flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border-interactive);border-radius:8px;padding:7px 12px;flex:1;max-width:280px;flex-shrink:0}.filter-search input{background:none;border:none;outline:none;color:var(--text-primary);font-family:inherit;font-size:13px;width:100%}.filter-search input::placeholder{color:var(--text-secondary)}.filter-search svg{color:var(--text-secondary);flex-shrink:0}.filter-count{margin-left:auto;font-size:12px;color:var(--text-secondary);flex-shrink:0}.table-wrap{background:#fff;border:1px solid var(--border-panel);border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000000f}table{width:100%;border-collapse:collapse}thead{background:var(--bg-panel)}thead th{padding:0 16px;height:40px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);text-align:left;white-space:nowrap}thead th.right{text-align:right}tbody tr{height:44px;border-top:1px solid #F3F4F6;cursor:pointer;transition:background .12s}tbody tr:hover{background:var(--bg-hover)}tbody tr.selected{background:var(--bg-selected);border-left:3px solid var(--brand-green)}td{padding:0 16px;font-size:13px;color:var(--text-primary);white-space:nowrap}td.mono{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--text-secondary)}td.right{text-align:right}td a{color:var(--text-primary);text-decoration:none}td a:hover{color:var(--brand-green)}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 8px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.5px}.chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.chip-processing{background:#2563eb1f;color:#1d4ed8}.chip-processing .chip-dot{background:#2563eb}.chip-done{background:#0b6a0b1f;color:#085008}.chip-done .chip-dot{background:#0b6a0b}.chip-failed{background:#dc26261f;color:#b91c1c}.chip-failed .chip-dot{background:#ef4444}.chip-archived{background:#6b72801f;color:#4b5563}.chip-archived .chip-dot{background:#9ca3af}.result-pass{color:var(--success);font-size:12px;font-weight:500}.result-warn{color:var(--warning);font-size:12px;font-weight:500}.result-fail{color:var(--error);font-size:12px;font-weight:500}.row-actions{display:flex;align-items:center;gap:4px;justify-content:flex-end;opacity:0;transition:opacity .12s}tbody tr:hover .row-actions{opacity:1}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-state svg{margin-bottom:12px;color:var(--text-secondary);opacity:.4}.empty-state p{font-size:14px;margin-bottom:16px}.tour-container{display:flex;flex-direction:column;flex:1;min-height:0;padding:24px}.tour-scroll-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.tour-scroll-inner{max-width:900px;margin:0 auto}.tour-steps{display:flex;align-items:center;margin-bottom:20px;flex-shrink:0;background:#fff;border:1px solid var(--border-panel);border-radius:12px;padding:14px 20px;box-shadow:0 1px 3px #0000000f}.tour-step-item{display:flex;align-items:center;flex:1}.tour-step-item:last-child{flex:0}.tour-step-circle{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;border:2px solid var(--border-interactive);color:var(--text-secondary);background:#fff;transition:all .2s}.tour-step-circle.active{border-color:var(--brand-green);color:var(--brand-green);background:#0b6a0b14}.tour-step-circle.done{border-color:var(--brand-green);background:var(--brand-green);color:#fff}.tour-step-info{margin-left:8px}.tour-step-num{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px}.tour-step-label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.tour-step-label.active{color:var(--brand-green);font-weight:600}.tour-step-label.done{color:var(--text-primary)}.tour-step-line{flex:1;height:2px;background:var(--border-panel);margin:0 12px;border-radius:1px;transition:background .3s}.tour-step-line.done{background:var(--brand-green)}.step1-header{margin-bottom:24px}.step1-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.2px}.step1-desc{font-size:13px;color:var(--text-secondary);line-height:1.6}.tour-footer{display:flex;align-items:center;justify-content:space-between;margin-top:28px;padding-top:20px;border-top:1px solid var(--border-panel)}.tour-footer-sticky{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:12px 20px;border-top:1px solid var(--border-panel);background:#fff}.btn-tour-next{display:flex;align-items:center;gap:6px;background:var(--brand-cta);color:#fff;border:none;padding:10px 22px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-tour-next:hover{background:var(--brand-hover)}.btn-tour-next:disabled{opacity:.4;cursor:not-allowed}.btn-tour-back{display:flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-interactive);padding:9px 18px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.btn-tour-back:hover{background:var(--bg-panel);color:var(--text-primary)}.btn-tour-restart{display:flex;align-items:center;gap:6px;background:#0b6a0b14;color:var(--brand-green);border:1px solid rgba(11,106,11,.2);padding:9px 18px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.btn-tour-restart:hover{background:#0b6a0b24}.step4-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.result-3col{display:flex;flex:1;min-height:0;border:1px solid var(--border-panel);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.result-file-col{flex:0 0 210px;min-height:0;background:#fff;border-right:1px solid var(--border-panel);display:flex;flex-direction:column;overflow:hidden;transition:flex-basis .22s cubic-bezier(.4,0,.2,1)}.result-file-col.collapsed{flex-basis:28px}.result-file-col-header{padding:9px 12px 8px;border-bottom:1px solid var(--border-panel);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.result-file-col-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary)}.result-file-count{font-size:10px;background:var(--bg-panel);border:1px solid var(--border-panel);color:var(--text-secondary);border-radius:10px;padding:1px 7px;font-weight:600}.result-file-list-scroll{flex:1;overflow-y:auto;padding:4px 0 8px}.result-file-list-scroll::-webkit-scrollbar{width:3px}.result-file-list-scroll::-webkit-scrollbar-thumb{background:#6b72802e;border-radius:999px}.result-file-item{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;border-left:3px solid transparent;transition:background .12s,border-color .12s}.result-file-item:hover{background:var(--bg-hover)}.result-file-item.active{background:var(--bg-selected);border-left-color:var(--brand-green)}.result-file-item-icon{font-size:14px;flex-shrink:0;line-height:1}.result-file-item-info{flex:1;min-width:0}.result-file-item-name{font-size:11px;font-weight:500;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35}.result-file-item.active .result-file-item-name{color:var(--brand-green);font-weight:600}.result-file-item-badges{display:flex;align-items:center;gap:4px;margin-top:2px}.rfi-badge{font-size:8px;font-weight:700;padding:1px 5px;border-radius:3px;letter-spacing:.3px}.rfi-pdf{background:#dc26261a;color:#b91c1c}.rfi-done{background:#0b6a0b1a;color:#085008}.rfi-warn{background:#d977061a;color:#92400e}.rfi-fail{background:#dc26261a;color:#b91c1c}.result-file-col.collapsed .result-file-list-scroll,.result-file-col.collapsed .result-file-count,.result-file-col.collapsed .result-file-col-title{display:none}.result-file-col.collapsed .result-file-col-header{justify-content:center;padding:8px 0;border-bottom:none}.result-file-col.collapsed .panel-toggle-btn svg{transform:rotate(180deg)}.result-viewer-col{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#525659;overflow:hidden;transition:flex-basis .22s cubic-bezier(.4,0,.2,1)}.result-viewer-col.collapsed{flex:0 0 28px}.viewer-toolbar{display:flex;align-items:center;gap:8px;padding:7px 12px;background:#fff;border-bottom:1px solid var(--border-panel);flex-shrink:0;min-height:40px}.viewer-file-name{font-size:12px;font-weight:600;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-type-badge{font-size:9px;font-weight:700;padding:2px 7px;border-radius:4px;flex-shrink:0;letter-spacing:.3px}.vtb-pdf{background:#dc26261a;color:#b91c1c}.viewer-sep{width:1px;height:18px;background:var(--border-panel);flex-shrink:0}.viewer-icon-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border-panel);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:background .12s,color .12s;flex-shrink:0}.viewer-icon-btn:hover{background:var(--bg-panel);color:var(--text-primary)}.viewer-area{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.viewer-area iframe{width:100%;height:100%;border:none;flex:1}.viewer-empty{display:flex;align-items:center;justify-content:center;flex:1;color:#fff6;font-size:13px;flex-direction:column;gap:12px}.pdf-shell{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;background:#525659}.pdf-toolbar{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border-bottom:1px solid var(--border-panel);flex-shrink:0;min-height:40px}.pdf-page-nav{display:flex;align-items:center;gap:4px}.pdf-page-indicator{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.pdf-page-input{width:36px;border:1px solid var(--border-interactive);border-radius:5px;padding:2px 5px;font-size:12px;font-family:JetBrains Mono,monospace;text-align:center;outline:none;background:var(--bg-panel);color:var(--text-primary)}.pdf-page-input:focus{border-color:var(--brand-green)}.pdf-page-total{font-size:11px;color:var(--text-secondary)}.pdf-scale-label{font-size:11px;color:var(--text-secondary);font-family:JetBrains Mono,monospace;min-width:36px;text-align:center}.pdf-canvas-area{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:16px}.pdf-canvas-area::-webkit-scrollbar{width:6px;height:6px}.pdf-canvas-area::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.pdf-canvas-area::-webkit-scrollbar-track{background:transparent}.pdf-canvas-area .react-pdf__Page{box-shadow:0 6px 28px #00000073;border-radius:3px;overflow:hidden}.pdf-canvas-area .react-pdf__Page canvas{display:block}.pdf-spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.12);border-top-color:#ffffffb3;border-radius:50%;animation:spin .75s linear infinite}.pdf-open-link{font-size:11px;color:#ffffff80;text-decoration:underline;cursor:pointer}.pdf-open-link:hover{color:#fffc}.img-canvas-area{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:16px}.img-canvas-area::-webkit-scrollbar{width:6px;height:6px}.img-canvas-area::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.img-canvas-area::-webkit-scrollbar-track{background:transparent}.img-preview{display:block;max-width:100%;height:auto;transform-origin:top center;box-shadow:0 6px 28px #00000073;border-radius:3px;transition:transform .18s cubic-bezier(.4,0,.2,1)}@keyframes spin{to{transform:rotate(360deg)}}.rr-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;flex-shrink:0;padding:0}.rr-kpi-cell{background:#fff;border:1px solid var(--border-panel);border-radius:8px;padding:8px 10px;text-align:center}.rr-kpi-val{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;line-height:1}.rr-kpi-lbl{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-top:3px}.result-viewer-col.collapsed .viewer-area,.result-viewer-col.collapsed .viewer-file-name,.result-viewer-col.collapsed .viewer-type-badge,.result-viewer-col.collapsed .viewer-sep,.result-viewer-col.collapsed .viewer-icon-btn{display:none}.result-viewer-col.collapsed .viewer-toolbar{padding:7px 3px;justify-content:center}.result-viewer-col.collapsed .viewer-toolbar .panel-toggle-btn svg{transform:rotate(180deg)}.result-review-col{flex:0 0 300px;min-height:0;background:var(--bg-panel);border-left:1px solid var(--border-panel);display:flex;flex-direction:column;overflow:hidden;transition:flex-basis .22s cubic-bezier(.4,0,.2,1)}.result-review-col.collapsed{flex-basis:28px}.result-review-col-header{padding:9px 12px 8px;border-bottom:1px solid var(--border-panel);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.result-review-col-header-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary)}.result-review-scroll{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:8px}.result-review-scroll::-webkit-scrollbar{width:3px}.result-review-scroll::-webkit-scrollbar-thumb{background:#6b72802e;border-radius:999px}.result-review-col.collapsed .result-review-scroll,.result-review-col.collapsed .result-review-col-header-title{display:none}.result-review-col.collapsed .result-review-col-header{justify-content:center;padding:8px 0;border-bottom:none}.result-review-col.collapsed .panel-toggle-btn svg{transform:rotate(180deg)}.panel-toggle-btn{width:20px;height:20px;border-radius:5px;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .12s,color .12s}.panel-toggle-btn:hover{background:#6b72801a;color:var(--text-primary)}.panel-toggle-btn svg{transition:transform .22s cubic-bezier(.4,0,.2,1)}.verdict-compact{border-radius:10px;padding:10px 12px;display:flex;align-items:center;gap:10px;border:1.5px solid;position:relative;overflow:hidden;flex-shrink:0}.verdict-compact:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:10px 0 0 10px}.vc-fail{background:#dc26260f;border-color:#dc262633}.vc-fail:before{background:#dc2626}.vc-warn{background:#d977060f;border-color:#d9770633}.vc-warn:before{background:#d97706}.vc-pass{background:#0b6a0b0f;border-color:#0b6a0b33}.vc-pass:before{background:#0b6a0b}.vc-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.vc-fail .vc-icon{background:#dc26261f;color:#b91c1c}.vc-warn .vc-icon{background:#d977061a;color:#92400e}.vc-pass .vc-icon{background:#0b6a0b1f;color:#085008}.vc-body{flex:1;min-width:0}.vc-label{font-size:12px;font-weight:700}.vc-fail .vc-label{color:#b91c1c}.vc-warn .vc-label{color:#92400e}.vc-pass .vc-label{color:#085008}.vc-sublabel{font-size:10px;color:var(--text-secondary);margin-top:1px;line-height:1.4}.vc-score{text-align:right;flex-shrink:0}.vc-score-val{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700;line-height:1}.vc-fail .vc-score-val{color:#b91c1c}.vc-warn .vc-score-val{color:#d97706}.vc-pass .vc-score-val{color:#0b6a0b}.vc-score-lbl{font-size:8px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-top:1px}.rr-card{background:#fff;border:1px solid var(--border-panel);border-radius:10px;overflow:hidden;flex-shrink:0}.rr-card.rr-card-grow{flex:1;min-height:0;display:flex;flex-direction:column}.rr-card-hd{padding:7px 11px;border-bottom:1px solid var(--border-panel);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-secondary);background:var(--bg-panel)}.rr-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;padding:10px 11px}.rr-meta-label{font-size:9px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);font-weight:600;margin-bottom:2px}.rr-meta-value{font-size:11px;font-weight:500;color:var(--text-primary);line-height:1.4;word-break:break-word}.rr-issue-scroll{flex:1;min-height:0;overflow-y:auto}.rr-issue-scroll::-webkit-scrollbar{width:3px}.rr-issue-scroll::-webkit-scrollbar-thumb{background:#6b72802e;border-radius:999px}.rr-issue-item{display:flex;align-items:flex-start;gap:8px;padding:8px 11px;border-bottom:1px solid #F3F4F6;cursor:pointer;transition:background .1s}.rr-issue-item:last-child{border-bottom:none}.rr-issue-item:hover{background:var(--bg-hover)}.rr-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;margin-top:4px}.rr-body{flex:1;min-width:0}.rr-title{font-size:11px;font-weight:500;color:var(--text-primary);line-height:1.4}.rr-meta{font-size:10px;color:var(--text-secondary);margin-top:3px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.rr-badge{font-size:9px;font-weight:600;padding:1px 6px;border-radius:8px}.rr-badge.critical{background:#dc26261a;color:#b91c1c}.rr-badge.medium{background:#d977061a;color:#92400e}.rr-badge.minor{background:#2563eb1a;color:#1d4ed8}.rr-text{padding:8px 11px;font-size:11px;color:#374151;line-height:1.75}.rr-list{padding:6px 11px 10px;display:flex;flex-direction:column;gap:5px}.rr-list-item{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:#374151;line-height:1.5}.rr-list-dot{width:5px;height:5px;border-radius:50%;background:var(--brand-green);margin-top:5px;flex-shrink:0}.industry-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}.industry-card{border:2px solid var(--border-panel);border-radius:12px;padding:20px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;background:#fff;position:relative;overflow:hidden}.industry-card:hover{border-color:#0b6a0b4d;background:#0b6a0b05;box-shadow:0 4px 12px #0000000f}.industry-card.selected{border-color:var(--brand-green);background:#0b6a0b0a;box-shadow:0 0 0 3px #0b6a0b1f}.industry-card-check{position:absolute;top:14px;right:14px;width:20px;height:20px;border-radius:50%;border:2px solid var(--border-interactive);background:#fff;display:flex;align-items:center;justify-content:center;transition:all .15s}.industry-card.selected .industry-card-check{border-color:var(--brand-green);background:var(--brand-green)}.industry-card-icon-wrap{font-size:32px;margin-bottom:12px;line-height:1}.industry-card-title{font-size:15px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.industry-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.5}.step2-header{margin-bottom:20px}.step2-title{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.step2-desc{font-size:13px;color:var(--text-secondary);line-height:1.6}.step2-entry-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.upload-zone-sm{border:2px dashed var(--border-interactive);border-radius:10px;padding:20px 16px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fff;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}.upload-zone-sm:hover,.upload-zone-sm.drag-over{border-color:var(--brand-green);background:#0b6a0b05}.upload-zone-sm.has-files{border-color:#0b6a0b59}.uz-icon{color:var(--text-secondary)}.uz-title{font-size:13px;font-weight:600;color:var(--text-primary)}.uz-sub{font-size:11px;color:var(--text-secondary);line-height:1.5}.uploaded-file-list{margin-top:10px;border:1px solid var(--border-panel);border-radius:8px;overflow:hidden;background:#fff}.uploaded-file-list-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border-panel);font-size:11px;color:var(--text-secondary)}.uploaded-file-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #F3F4F6;font-size:12px}.uploaded-file-item:last-child{border-bottom:none}.upload-file-item-icon{font-size:16px;flex-shrink:0}.upload-file-item-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-item-size{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-secondary);flex-shrink:0}.upload-file-item-remove{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:12px;padding:2px 4px;border-radius:4px;transition:color .12s,background .12s;flex-shrink:0}.upload-file-item-remove:hover{color:var(--error);background:#dc262614}.res-lib-trigger{display:flex;align-items:center;gap:12px;padding:16px 14px;min-height:120px;border:1.5px dashed var(--border-interactive);border-radius:10px;cursor:pointer;transition:border-color .15s,background .15s;background:#fff}.res-lib-trigger:hover{border-color:var(--brand-green);background:#0b6a0b05}.res-lib-trigger.has-selection{border-style:solid;border-color:var(--brand-green);background:#0b6a0b08}.res-lib-trigger-icon{width:40px;height:40px;border-radius:10px;background:#0b6a0b14;display:flex;align-items:center;justify-content:center;color:var(--brand-green);flex-shrink:0}.res-lib-trigger-text{flex:1}.res-lib-trigger-title{font-size:13px;font-weight:600;color:var(--text-primary)}.res-lib-trigger-sub{font-size:11px;color:var(--text-secondary);margin-top:2px}.res-lib-trigger-arrow{color:var(--text-secondary);transition:transform .2s}.res-lib-trigger.open .res-lib-trigger-arrow{transform:rotate(90deg)}.res-lib-panel{border:1px solid var(--border-panel);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 16px #00000014;margin-top:8px;display:none;max-height:340px}.res-lib-panel.open{display:flex;flex-direction:column}.res-lib-toolbar{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-panel);background:#f9fafb}.res-lib-search{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-interactive);border-radius:6px;padding:6px 10px}.res-lib-search input{border:none;outline:none;font-family:inherit;font-size:12px;color:var(--text-primary);background:transparent;flex:1;width:100%}.res-lib-body{display:grid;grid-template-columns:1fr;flex:1;min-height:0;overflow-y:auto}.res-lib-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px}.res-lib-card{border:1.5px solid var(--border-panel);border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color .12s,background .12s;background:#fff;display:flex;flex-direction:column;gap:6px;position:relative}.res-lib-card:hover{border-color:#0b6a0b4d}.res-lib-card.selected{border-color:var(--brand-green);background:#0b6a0b0a}.res-lib-card-head{display:flex;align-items:center;gap:8px}.res-lib-card-icon{font-size:18px}.res-lib-card-name{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.3;flex:1}.res-lib-check{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;border:1.5px solid #D1D5DB;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .15s}.res-lib-card.selected .res-lib-check{border-color:var(--brand-green);background:var(--brand-green)}.res-lib-badge{font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px}.res-lib-badge.fmt{background:#2563eb14;color:#2563eb}.res-lib-footer{border-top:1px solid var(--border-panel);padding:10px 14px;display:flex;align-items:center;gap:10px;background:#f9fafb}.res-lib-selected-tag{display:flex;align-items:center;gap:5px;background:#0b6a0b14;border:1px solid rgba(11,106,11,.2);color:var(--brand-green);border-radius:5px;padding:3px 8px;font-size:11px;font-weight:500}.res-lib-selected-tag button{border:none;background:none;cursor:pointer;color:inherit;padding:0;font-size:12px}.res-lib-confirm-btn{margin-left:auto;display:flex;align-items:center;gap:6px;background:var(--brand-cta);color:#fff;border:none;padding:7px 16px;border-radius:6px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.res-lib-confirm-btn:hover{background:var(--brand-hover)}.res-lib-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.analysis-progress-wrap{margin-bottom:20px}.analysis-progress-bar{height:6px;background:#e5e7eb;border-radius:99px;overflow:hidden;margin-bottom:8px}.analysis-progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-green),#16A34A);border-radius:99px;transition:width .55s cubic-bezier(.4,0,.2,1)}.analysis-progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.analysis-progress-pct{font-family:JetBrains Mono,monospace;font-weight:700;color:var(--brand-green)}.analysis-layout{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}.analysis-steps{background:#fff;border:1px solid var(--border-panel);border-radius:14px;overflow:hidden}.analysis-step-row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid #F3F4F6;transition:background .15s}.analysis-step-row:last-child{border-bottom:none}.analysis-step-row.as-running{background:#2563eb06}.analysis-step-row.as-done{background:#0b6a0b05}.as-badge{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.as-badge-wait{background:#f3f4f6}.as-badge-running{background:#2563eb1a}.as-badge-done{background:#0b6a0b1f;color:var(--brand-green)}.as-num{font-size:11px;font-weight:700;color:#9ca3af;font-family:JetBrains Mono,monospace}.as-spinner{display:block;width:14px;height:14px;border:2.5px solid rgba(37,99,235,.2);border-top-color:#2563eb;border-radius:50%;animation:spin .75s linear infinite}.as-text{flex:1;min-width:0}.as-name{font-size:13px;font-weight:500;color:var(--text-primary);line-height:1.3}.as-wait .as-name{color:var(--text-secondary);font-weight:400}.as-sub{font-size:11px;color:#9ca3af;margin-top:2px}.as-chip{display:inline-block;font-size:11px;font-weight:500;border-radius:5px;padding:2px 8px;white-space:nowrap;font-family:JetBrains Mono,monospace}.as-chip-ok{background:#f0fdf4;color:#16a34a}.as-chip-warn{background:#fffbeb;color:#d97706}.as-chip-err{background:#fef2f2;color:#dc2626}.as-chip-running{background:#2563eb14;color:#2563eb}.ai-thought-box{background:#1a1d23;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #00000024}.ai-thought-header{display:flex;align-items:center;gap:5px;padding:10px 14px;background:#22262e;font-size:11px;color:#ffffff73;border-bottom:1px solid rgba(255,255,255,.06)}.ai-thought-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;flex-shrink:0}.ai-live-badge{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.8px;background:#10b9812e;color:#10b981;border-radius:4px;padding:2px 6px;animation:pulse-opacity 1.5s ease-in-out infinite}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.35}}.ai-thought-text{padding:14px 16px;font-size:11px;color:#ffffffb8;line-height:1.8;font-family:JetBrains Mono,monospace;min-height:220px;white-space:pre-wrap}.ai-cursor{display:inline-block;width:7px;height:13px;background:#10b981;vertical-align:middle;animation:blink 1s step-end infinite;margin-left:2px;border-radius:1px}@keyframes pulse-bg{0%,to{opacity:.7}50%{opacity:1}}.result-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.result-kpi{background:#f9fafb;border:1px solid var(--border-panel);border-radius:8px;padding:10px;text-align:center}.result-kpi-val{font-family:JetBrains Mono,monospace;font-size:20px;font-weight:700;line-height:1.2}.result-kpi-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-top:2px}.result-verdict{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:600}.verdict-fail-bg{background:#dc262612;color:#dc2626;border-left:3px solid #DC2626}.verdict-pass-bg{background:#16a34a12;color:#16a34a;border-left:3px solid #16A34A}.result-layout{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}.result-issue-list{background:#fff;border:1px solid var(--border-panel);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.result-issue-header{padding:12px 14px;border-bottom:1px solid var(--border-panel);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;background:#f9fafb}.result-issue-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid #F3F4F6;cursor:pointer;transition:background .1s}.result-issue-item:last-child{border-bottom:none}.result-issue-item:hover{background:var(--bg-hover)}.ri-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:5px}.ri-body{flex:1;min-width:0}.ri-title{font-size:12px;color:var(--text-primary);line-height:1.4}.ri-meta{font-size:10px;color:var(--text-secondary);margin-top:3px}.ri-badge{display:inline;font-size:9px;font-weight:600;padding:1px 5px;border-radius:3px}.ri-badge.critical{background:#dc26261a;color:#dc2626}.ri-badge.medium{background:#d977061a;color:#d97706}.ri-badge.minor{background:#2563eb1a;color:#2563eb}.mini-viewer{background:#f3f4f6;border-radius:10px;padding:10px}.mini-drawing{background:#fafaf8;border:1px solid #D1D5DB;border-radius:4px;position:relative;overflow:hidden;aspect-ratio:1.414/1}.mini-drawing svg{width:100%;height:100%}.report-preview-wrap{background:#f3f4f6;border-radius:12px;padding:20px}.report-doc{background:#fff;border-radius:8px;padding:32px 36px;box-shadow:0 4px 16px #0000001a;max-width:680px;margin:0 auto}.report-logo-row{display:flex;align-items:center;gap:8px;margin-bottom:28px;padding-bottom:16px;border-bottom:2px solid #E5E7EB}.report-logo-text{font-weight:700;font-size:14px;color:var(--text-primary)}.report-title{font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:-.3px}.report-subtitle{font-size:12px;color:var(--text-secondary);margin-bottom:24px}.report-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:20px 0 8px}.report-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.report-kpi{border:1px solid #E5E7EB;border-radius:8px;padding:12px;text-align:center}.report-kpi-val{font-family:JetBrains Mono,monospace;font-size:22px;font-weight:700}.report-kpi-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--text-secondary);margin-top:3px}.report-issue-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #F3F4F6;font-size:13px}.report-issue-row:last-child{border-bottom:none}.report-verdict-banner{border-radius:8px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;margin-bottom:16px}.report-verdict-fail{background:#dc26260f;color:#dc2626;border:1px solid rgba(220,38,38,.15)}.report-verdict-pass{background:#16a34a0f;color:#16a34a;border:1px solid rgba(22,163,74,.15)}.report-actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end}.btn-report-dl{display:flex;align-items:center;gap:6px;background:var(--brand-cta);color:#fff;border:none;padding:9px 18px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}.btn-report-share{display:flex;align-items:center;gap:6px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-interactive);padding:8px 16px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer}.email-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000061;z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}.email-modal-backdrop.open{opacity:1;pointer-events:all}.email-modal{background:#fff;border-radius:16px;width:420px;max-width:90vw;box-shadow:0 20px 60px #0003;padding:32px 28px 24px;position:relative;transform:translateY(12px) scale(.97);transition:transform .22s cubic-bezier(.4,0,.2,1)}.email-modal-backdrop.open .email-modal{transform:translateY(0) scale(1)}.email-modal-close{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:6px;border:none;background:var(--bg-panel);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .12s}.email-modal-close:hover{background:#e5e7eb;color:var(--text-primary)}.email-modal-icon{width:52px;height:52px;border-radius:14px;background:#0b6a0b17;display:flex;align-items:center;justify-content:center;color:var(--brand-green);margin-bottom:16px}.email-modal-title{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.email-modal-desc{font-size:13px;color:var(--text-secondary);line-height:1.6;margin-bottom:22px}.email-modal-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:6px}.email-modal-input-wrap{display:flex;align-items:center;gap:8px;border:1.5px solid var(--border-interactive);border-radius:8px;padding:0 12px;background:#fff;transition:border-color .15s,box-shadow .15s;margin-bottom:8px}.email-modal-input-wrap:focus-within{border-color:var(--brand-green);box-shadow:0 0 0 3px #0b6a0b1f}.email-modal-input{flex:1;border:none;outline:none;padding:11px 0;font-family:inherit;font-size:14px;color:var(--text-primary);background:transparent}.email-modal-hint{font-size:11px;color:var(--text-secondary);margin-bottom:20px;min-height:16px}.email-modal-actions{display:flex;gap:8px}.btn-email-cancel{flex:1;padding:11px;border:1px solid var(--border-interactive);border-radius:8px;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .12s}.btn-email-cancel:hover{background:var(--bg-panel);color:var(--text-primary)}.btn-email-send{flex:2;padding:11px;border:none;border-radius:8px;background:var(--brand-cta);font-family:inherit;font-size:13px;font-weight:700;color:#fff;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center;gap:7px}.btn-email-send:hover{background:var(--brand-hover)}.btn-email-send:disabled{opacity:.45;cursor:not-allowed}.email-modal-success{text-align:center;padding:10px 0 8px}.email-success-icon{width:60px;height:60px;border-radius:50%;background:#0b6a0b1a;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--brand-green)}.email-success-title{font-size:17px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.email-success-desc{font-size:13px;color:var(--text-secondary);line-height:1.7}.progress-card{background:#fff;border:1px solid var(--border-panel);border-radius:12px;padding:20px 24px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.progress-label{font-size:14px;font-weight:600;color:var(--text-primary)}.progress-pct{font-family:JetBrains Mono,monospace;font-size:24px;font-weight:700;color:var(--brand-green)}.progress-bar-track{height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--brand-green);border-radius:3px;transition:width .4s ease}.progress-eta{font-size:12px;color:var(--text-secondary);margin-top:8px}.steps-card{background:#fff;border:1px solid var(--border-panel);border-radius:12px;padding:20px 24px;margin-bottom:20px;box-shadow:0 1px 3px #0000000f}.steps-card-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:20px}.step-row{display:flex;gap:16px;padding-bottom:20px;position:relative}.step-row:last-child{padding-bottom:0}.step-row:not(:last-child):before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--border-panel)}.step-icon-wrap{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1}.step-icon-done{background:var(--success);color:#fff}.step-icon-active{background:var(--brand-cta);color:#fff;animation:pulse-step 1.5s infinite}.step-icon-wait{background:#f3f4f6;border:2px solid var(--border-interactive);color:var(--text-secondary)}.step-icon-error{background:var(--error);color:#fff}@keyframes pulse-step{0%,to{box-shadow:0 0 #0b6a0b66}50%{box-shadow:0 0 0 6px #0b6a0b00}}.step-content{flex:1;padding-top:4px}.step-name{font-size:14px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.eta-badge{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary);background:var(--bg-card);padding:2px 6px;border-radius:4px}.step-summary{font-size:12px;color:var(--text-secondary);margin-top:4px;line-height:1.5}.step-summary.done{color:var(--success)}.step-elapsed{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary);margin-top:4px}.error-card{background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:12px;padding:20px 24px;margin-bottom:20px}.error-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.error-card-title{font-size:14px;font-weight:600;color:#f87171}.error-card-msg{font-size:13px;color:var(--text-secondary);margin-bottom:14px}.error-card-actions{display:flex;gap:10px}.info-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.info-chip{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-secondary);background:#f3f4f6;border:1px solid var(--border-panel);padding:3px 8px;border-radius:6px}.leave-banner{background:#2563eb0f;border:1px solid rgba(37,99,235,.2);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:#1d4ed8;display:flex;align-items:center;gap:10px;justify-content:space-between}.leave-banner-btn{font-size:12px;font-weight:600;color:#2563eb;cursor:pointer;background:none;border:none;white-space:nowrap}.content-area{flex:1;display:flex;overflow:hidden}.workspace{flex:1;display:grid;grid-template-columns:clamp(260px,24vw,360px) 1fr;overflow:hidden;min-width:0}.pane{height:100%;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border-panel);display:flex;flex-direction:column}.pane:last-child{border-right:none}.ai-drawer{flex-shrink:0;width:0;overflow:hidden;background:var(--bg-panel);border-left:0px solid var(--border-panel);transition:width .28s cubic-bezier(.4,0,.2,1),border-left-width .28s step-end;display:flex}.ai-drawer.open{width:clamp(300px,26vw,380px);border-left-width:1px}.ai-drawer-inner{width:clamp(300px,26vw,380px);flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;height:100%}.task-info-card{padding:12px 14px 10px;border-bottom:1px solid var(--border-panel);background:#fff;flex-shrink:0}.task-info-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;line-height:1.4}.task-info-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.task-meta-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary);background:var(--bg-panel);border:1px solid var(--border-panel);border-radius:20px;padding:2px 10px}.task-status-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;background:#dc26261f;color:#b91c1c;border-radius:20px;padding:3px 10px 3px 8px;letter-spacing:.5px}.task-status-dot{width:6px;height:6px;border-radius:50%;background:#ef4444;flex-shrink:0}.quick-actions{display:flex;flex-direction:row;gap:6px;flex-wrap:wrap}.quick-action-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:6px;border:1px solid var(--border-interactive);background:#fff;cursor:pointer;transition:border-color .12s,background .12s,color .12s;font-family:inherit;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.quick-action-btn:hover{border-color:#0b6a0b59;background:#0b6a0b0a;color:var(--brand-green)}.btn-ai-eng{display:inline-flex;align-items:center;gap:7px;background:linear-gradient(135deg,#0b6a0b,#16803a);color:#fff;border:none;padding:7px 14px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s;box-shadow:0 1px 4px #0b6a0b40}.btn-ai-eng:hover{opacity:.92}.btn-ai-eng.active{background:linear-gradient(135deg,#237923,#16a34a)}.ai-eng-dot{width:6px;height:6px;border-radius:50%;background:#ffffffb3;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.issue-pane-header{padding:14px 14px 10px;border-bottom:1px solid var(--border-panel);position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0}.verdict-banner{padding:9px 12px;margin-bottom:10px;border-radius:8px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600}.verdict-fail{background:#dc262612;color:#dc2626;border-left:3px solid var(--error)}.verdict-pass{background:#16a34a12;color:#16a34a;border-left:3px solid var(--success)}.verdict-warn{background:#d9770612;color:#d97706;border-left:3px solid var(--warning)}.kpi-row-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.kpi-mini{background:#f9fafb;border:1px solid var(--border-panel);border-radius:8px;padding:7px 4px;text-align:center}.kpi-mini-val{font-family:JetBrains Mono,monospace;font-size:17px;font-weight:700;line-height:1.2}.kpi-mini-val.critical{color:var(--error)}.kpi-mini-val.medium{color:var(--warning)}.kpi-mini-val.minor{color:#2563eb}.kpi-mini-val.pass{color:var(--brand-green)}.kpi-mini-label{font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);margin-top:2px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.filter-tabs{display:flex;gap:3px}.filter-tab{padding:4px 9px;border-radius:6px;font-size:11px;font-weight:500;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:background .12s;font-family:inherit}.filter-tab.active{background:var(--bg-selected);color:var(--text-primary)}.filter-tab:hover:not(.active){background:var(--bg-hover)}.file-filter-select{font-size:11px;border:1px solid var(--border-interactive);border-radius:6px;padding:3px 6px;color:var(--text-secondary);background:#fff;cursor:pointer;outline:none;font-family:inherit}.issue-scroll{flex:1;overflow-y:auto}.severity-group{padding:8px 14px 3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary)}.issue-item{display:flex;align-items:flex-start;gap:10px;padding:9px 14px;cursor:pointer;border-left:3px solid transparent;transition:background .12s,border-color .12s}.issue-item:hover{background:var(--bg-hover)}.issue-item.active{background:var(--bg-selected);border-left-color:var(--brand-green)}.issue-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.dot-critical{background:var(--error)}.dot-medium{background:var(--warning)}.dot-minor{background:#60a5fa}.issue-content{flex:1;min-width:0}.issue-id-row{display:flex;align-items:center;gap:6px}.issue-id{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-secondary)}.issue-badge{display:inline-flex;align-items:center;font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px}.issue-badge.critical{background:#dc26261a;color:#dc2626}.issue-badge.medium{background:#d977061a;color:#d97706}.issue-badge.minor{background:#2563eb1a;color:#2563eb}.issue-title{font-size:12px;color:var(--text-primary);line-height:1.4;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.issue-std{font-size:10px;color:var(--text-secondary);margin-top:2px}.page-meta{font-size:12px;color:var(--text-secondary);margin-top:4px}.page-meta span{font-family:JetBrains Mono,monospace}.rl-page{max-width:1100px;margin:0 auto;padding:32px 24px}.rl-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;flex-wrap:wrap}.rl-header-left{display:flex;align-items:baseline;gap:10px}.rl-title{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.4px}.rl-count{font-size:12px;color:var(--text-secondary);background:#f3f4f6;border-radius:20px;padding:2px 9px}.rl-header-right{display:flex;align-items:center;gap:10px}.rl-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-panel);border-radius:8px;padding:7px 12px}.rl-search svg{color:var(--text-secondary);flex-shrink:0}.rl-search input{border:none;outline:none;font-size:13px;color:var(--text-primary);background:transparent;width:200px}.rl-search input::placeholder{color:var(--text-secondary)}.rl-btn-new{display:flex;align-items:center;gap:6px;background:var(--brand-cta);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.rl-btn-new:hover{background:var(--brand-hover)}.rl-table-wrap{background:#fff;border:1px solid var(--border-panel);border-radius:12px;overflow:hidden}.rl-table{width:100%;border-collapse:collapse}.rl-table thead tr{border-bottom:1px solid var(--border-panel)}.rl-table th{padding:11px 16px;text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-secondary);white-space:nowrap;background:#fafafa}.rl-table th:first-child{border-radius:12px 0 0}.rl-table th:last-child{border-radius:0 12px 0 0}.rl-row{cursor:pointer;border-bottom:1px solid #F3F4F6;transition:background .1s}.rl-row:last-child{border-bottom:none}.rl-row:hover{background:var(--bg-hover)}.rl-table td{padding:13px 16px;vertical-align:middle}.rl-td-name{max-width:280px}.rl-name-text{font-size:13px;font-weight:500;color:var(--text-primary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-industry{font-size:12px;color:var(--text-secondary);white-space:nowrap}.rl-td-date{font-size:12px;color:var(--text-secondary);white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}.rl-td-action{text-align:right}.rl-view-btn{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:500;color:var(--brand-green);padding:4px 10px;border-radius:6px;background:var(--brand-light);transition:background .12s}.rl-row:hover .rl-view-btn{background:#0b6a0b24}.rl-badge{display:inline-block;font-size:11px;font-weight:600;border-radius:5px;padding:2px 8px}.rl-badge.critical{background:#fef2f2;color:#dc2626}.rl-badge.warn{background:#fffbeb;color:#d97706}.rl-badge.pass{background:#f0fdf4;color:#16a34a}.rl-issue-chip{display:inline-block;font-size:11px;font-weight:500;border-radius:4px;padding:1px 6px}.rl-issue-chip.critical{background:#fef2f2;color:#dc2626}.rl-issue-chip.warn{background:#fffbeb;color:#d97706}.rl-issue-chip.minor{background:#eff6ff;color:#2563eb}.rl-source-badge{display:inline-block;font-size:10px;font-weight:600;border-radius:4px;padding:2px 6px;letter-spacing:.3px}.rl-source-badge.upload{background:#eff6ff;color:#2563eb}.rl-source-badge.preset{background:#f0fdf4;color:#16a34a}.rl-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:64px 24px;color:var(--text-secondary);font-size:14px}.rl-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-top:1px solid var(--border-panel);gap:12px;flex-wrap:wrap}.rl-page-info{font-size:12px;color:var(--text-secondary);white-space:nowrap}.rl-page-info strong{color:var(--text-primary)}.rl-page-controls{display:flex;align-items:center;gap:3px}.rl-page-btn{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--border-panel);border-radius:6px;background:#fff;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s}.rl-page-btn:hover:not(:disabled){border-color:var(--brand-green);color:var(--brand-green);background:var(--brand-light)}.rl-page-btn:disabled{opacity:.35;cursor:not-allowed}.rl-page-btn.num{min-width:30px}.rl-page-btn.num.active{background:var(--brand-green);border-color:var(--brand-green);color:#fff;font-weight:700}.rl-page-ellipsis{display:flex;align-items:center;padding:0 4px;font-size:12px;color:var(--text-secondary)}.rl-page-size{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.rl-page-size select{border:1px solid var(--border-panel);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text-primary);background:#fff;outline:none;cursor:pointer}.rl-page-size select:focus{border-color:var(--brand-green)}.da-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.da-steps{display:flex;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid var(--border-panel);flex-shrink:0;gap:0}.da-scroll-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;display:flex;justify-content:center;padding:32px 24px 48px}.da-scroll-inner{width:100%;max-width:780px}.da-section-header{margin-bottom:28px}.da-section-title{font-size:22px;font-weight:500;color:var(--text-primary);line-height:"28px";margin-bottom:6px}.da-section-desc{font-size:14px;color:var(--text-secondary);line-height:"20px"}.da-industry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:32px}.da-industry-card{position:relative;background:#fff;border:2px solid var(--border-panel);border-radius:14px;padding:20px 18px;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s;box-shadow:0 1px 3px #0000000d}.da-industry-card:hover{border-color:var(--brand-green);box-shadow:0 4px 12px #0b6a0b1f;transform:translateY(-1px)}.da-industry-card.selected{border-color:var(--brand-green);background:#0b6a0b0a;box-shadow:0 0 0 3px #0b6a0b1f}.da-industry-check{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--brand-green);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s}.da-industry-card.selected .da-industry-check{opacity:1}.da-industry-icon{width:40px;height:40px;margin-bottom:10px;display:flex;align-items:center;justify-content:flex-start}.da-industry-name{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.da-industry-desc{font-size:12px;color:var(--text-secondary);line-height:1.5}.da-footer{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border-panel);margin-top:4px}.da-source-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.da-upload-zone{border:2px dashed var(--border-interactive);border-radius:14px;padding:30px 20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:#fafafa}.da-upload-zone:hover,.da-upload-zone.drag-over{border-color:var(--brand-green);background:#0b6a0b0a}.da-upload-zone.has-file{border-color:var(--brand-green);border-style:solid}.da-upload-icon{color:var(--text-secondary);margin-bottom:10px}.da-upload-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.da-upload-sub{font-size:11px;color:var(--text-secondary);line-height:1.5}.da-lib-trigger{border:2px solid var(--border-panel);border-radius:14px;padding:20px 18px;cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,background .15s;background:#fff}.da-lib-trigger:hover{border-color:var(--brand-green);background:#0b6a0b08}.da-lib-trigger.open{border-color:var(--brand-green)}.da-lib-trigger.selected{border-color:var(--brand-green);background:#0b6a0b0a}.da-lib-trigger-icon{color:var(--brand-green)}.da-lib-trigger-title{font-size:14px;font-weight:600;color:var(--text-primary)}.da-lib-trigger-sub{font-size:12px;color:var(--text-secondary)}.da-file-chip{display:flex;align-items:center;gap:8px;background:var(--bg-panel);border:1px solid var(--border-panel);border-radius:10px;padding:10px 14px;margin-bottom:12px}.da-file-chip-name{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.da-file-chip-size{font-size:11px;color:var(--text-secondary);white-space:nowrap}.da-file-chip-remove{background:none;border:none;cursor:pointer;color:var(--text-secondary);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:4px}.da-file-chip-remove:hover{background:#dc26261a;color:var(--error)}.da-lib-panel{border:1px solid var(--border-panel);border-radius:12px;overflow:hidden;margin-top:8px;display:none}.da-lib-panel.open{display:block}.da-lib-toolbar{padding:10px 14px;border-bottom:1px solid var(--border-panel);background:var(--bg-panel)}.da-lib-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--border-interactive);border-radius:8px;padding:6px 12px}.da-lib-search input{border:none;outline:none;font-family:inherit;font-size:13px;width:100%;background:none;color:var(--text-primary)}.da-lib-body{padding:12px;max-height:240px;overflow-y:auto}.da-lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.da-lib-card{position:relative;border:1.5px solid var(--border-panel);border-radius:10px;padding:12px;cursor:pointer;transition:border-color .12s,background .12s;background:#fff}.da-lib-card:hover{border-color:var(--brand-green);background:#0b6a0b08}.da-lib-card.selected{border-color:var(--brand-green);background:#0b6a0b0f}.da-lib-card-check{position:absolute;top:7px;right:7px;width:16px;height:16px;border-radius:50%;background:var(--brand-green);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.da-lib-card.selected .da-lib-card-check{opacity:1}.da-lib-card-name{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4}.da-lib-card-meta{font-size:10px;color:var(--text-secondary);font-family:JetBrains Mono,monospace}.da-lib-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--border-panel);background:var(--bg-panel)}.da-lib-confirm-btn{display:flex;align-items:center;gap:6px;background:var(--brand-green);color:#fff;border:none;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s}.da-lib-confirm-btn:hover{background:var(--brand-hover)}.da-lib-confirm-btn:disabled{opacity:.4;cursor:not-allowed}.da-selected-tag{display:flex;align-items:center;gap:6px;background:#0b6a0b1a;color:var(--brand-green);border-radius:20px;padding:4px 10px;font-size:12px;font-weight:600}.da-selected-tag button{background:none;border:none;cursor:pointer;color:var(--brand-green);margin-left:2px;font-size:11px}.da-analysis-wrap{margin-bottom:24px}.da-analysis-progress-bar{height:6px;background:var(--bg-panel);border-radius:3px;overflow:hidden;margin-bottom:6px}.da-analysis-progress-fill{height:100%;background:var(--brand-green);border-radius:3px;transition:width .4s ease}.da-analysis-progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.da-analysis-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.da-analysis-steps{display:flex;flex-direction:column;gap:6px}.da-step-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid transparent;transition:background .15s,border-color .15s}.da-step-row.as-running{background:#0b6a0b0f;border-color:#0b6a0b33}.da-step-row.as-done{background:var(--bg-panel)}.da-badge{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:700}.da-badge-wait{background:var(--bg-panel);border:1.5px solid var(--border-interactive);color:var(--text-secondary)}.da-badge-running{background:var(--brand-green);color:#fff}.da-badge-done{background:#16a34a;color:#fff}.da-spinner{width:10px;height:10px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}.da-step-text{flex:1;min-width:0}.da-step-name{font-size:13px;font-weight:500;color:var(--text-primary)}.da-step-sub{font-size:11px;color:var(--text-secondary)}.da-chip{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap;flex-shrink:0}.da-chip-ok{background:#16a34a1f;color:#15803d}.da-chip-running{background:#0b6a0b1a;color:var(--brand-green)}.da-chip-warn{background:#d977061f;color:#b45309}.da-thought-box{background:#1a1a1a;border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.da-thought-header{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid #333;font-size:11px;color:#888}.da-thought-dot{width:10px;height:10px;border-radius:50%;background:#dc2626}.da-live-badge{margin-left:auto;font-size:9px;font-weight:700;letter-spacing:.5px;background:var(--brand-green);color:#fff;border-radius:4px;padding:2px 5px}.da-thought-text{flex:1;padding:14px;font-family:JetBrains Mono,monospace;font-size:11px;color:#a8ff78;line-height:1.7;white-space:pre-wrap;overflow-y:auto}.da-cursor{display:inline-block;width:8px;height:13px;background:#a8ff78;margin-left:2px;vertical-align:text-bottom;animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.da-result-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0}.da-result-2col{flex:1;min-height:0;display:grid;grid-template-columns:1fr 380px;gap:0;overflow:hidden;border-top:1px solid var(--border-panel)}.da-viewer-col{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-right:1px solid var(--border-panel)}.da-viewer-toolbar{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-panel);background:var(--bg-panel);flex-shrink:0;font-size:12px;color:var(--text-secondary)}.da-viewer-filename{font-weight:500;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.da-viewer-area{flex:1;min-height:0;overflow:hidden;position:relative;background:#525659;display:flex;align-items:center;justify-content:center}.da-viewer-img{max-width:100%;max-height:100%;object-fit:contain;display:block}.da-viewer-empty{text-align:center;color:#aaa;font-size:13px}.da-result-col{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#fff}.da-result-col-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border-panel);flex-shrink:0;background:var(--bg-panel)}.da-result-col-title{font-size:13px;font-weight:600;color:var(--text-primary)}.da-result-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 16px}.da-result-inner{display:flex;flex-direction:column;gap:14px}.da-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.da-stat-cell{background:var(--bg-panel);border-radius:10px;padding:10px 8px;text-align:center;border:1px solid var(--border-panel)}.da-stat-val{font-size:22px;font-weight:700;color:var(--brand-green);line-height:1;margin-bottom:3px}.da-stat-lbl{font-size:10px;color:var(--text-secondary)}.da-info-card{border:1px solid var(--border-panel);border-radius:10px;overflow:hidden}.da-info-card-hd{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-panel);border-bottom:1px solid var(--border-panel);font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.da-info-rows{padding:8px 0}.da-info-row{display:flex;align-items:flex-start;padding:4px 12px;gap:8px;font-size:12px;line-height:1.5}.da-info-row:nth-child(2n){background:var(--bg-panel)}.da-info-key{color:var(--text-secondary);white-space:nowrap;flex-shrink:0;min-width:90px}.da-info-val{color:var(--text-primary);font-weight:500;word-break:break-all}.da-feature-table{width:100%;border-collapse:collapse;font-size:11px}.da-feature-table th{padding:5px 8px;text-align:left;background:var(--bg-panel);border-bottom:1px solid var(--border-panel);color:var(--text-secondary);font-weight:600;font-size:10px;text-transform:uppercase}.da-feature-table td{padding:5px 8px;border-bottom:1px solid var(--border-panel);color:var(--text-primary)}.da-feature-table tr:last-child td{border-bottom:none}.da-feature-table tr:hover td{background:var(--bg-panel)}.da-feature-badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600}.da-feature-badge.round_hole{background:#2563eb1a;color:#1d4ed8}.da-feature-badge.slotted{background:#d977061a;color:#b45309}.da-feature-badge.fillet{background:#16a34a1a;color:#15803d}.da-feature-badge.rectangular{background:#8b5cf61a;color:#6d28d9}.da-feature-badge.default{background:var(--bg-panel);color:var(--text-secondary)}.da-view-item{display:flex;align-items:flex-start;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border-panel);font-size:12px}.da-view-item:last-child{border-bottom:none}.da-view-dot{width:7px;height:7px;border-radius:50%;background:var(--brand-green);flex-shrink:0;margin-top:4px}.da-view-name{font-weight:600;color:var(--text-primary)}.da-view-kind{font-size:10px;color:var(--text-secondary)}.da-view-desc{font-size:11px;color:var(--text-secondary);margin-top:1px}.da-flag-item{display:flex;gap:8px;font-size:11px;color:var(--text-secondary);padding:4px 0;align-items:flex-start}.da-flag-dot{width:6px;height:6px;border-radius:50%;background:var(--warning);flex-shrink:0;margin-top:3px}.da-pipe-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.da-pipe-kpi{background:var(--bg-panel);border-radius:10px;padding:10px;text-align:center;border:1px solid var(--border-panel)}.da-pipe-kpi-val{font-size:20px;font-weight:700;color:var(--brand-green);line-height:1}.da-pipe-kpi-lbl{font-size:10px;color:var(--text-secondary);margin-top:3px}.da-btn-next{display:flex;align-items:center;gap:7px;background:var(--brand-green);color:#fff;border:none;border-radius:9px;padding:9px 20px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.da-btn-next:hover{background:var(--brand-hover)}.da-btn-next:disabled{opacity:.4;cursor:not-allowed}.da-btn-back{display:flex;align-items:center;gap:7px;background:none;color:var(--text-secondary);border:1.5px solid var(--border-interactive);border-radius:9px;padding:8px 18px;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s}.da-btn-back:hover{border-color:var(--text-primary);color:var(--text-primary)}.da-domain-badge{display:inline-flex;align-items:center;gap:5px;background:#0b6a0b1a;color:var(--brand-green);border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;top:0;right:0;bottom:0;left:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;top:100%;right:0;bottom:0;left:0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}
