*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #1B3A6B;--primary-dark: #122849;--primary-light:#2a5298;--accent: #1B3A6B;--accent-hover: #122849;--bg: #F3F4F6;--surface: #FFFFFF;--surface2: #F9FAFB;--border: #E5E7EB;--text: #1F2937;--text-muted: #6B7280;--green: #15803d;--amber: #b45309;--red: #b91c1c;--green-bg: #dcfce7;--amber-bg: #fef3c7;--red-bg: #fee2e2}html{overflow-y:scroll}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.header{background:var(--primary);border-bottom:1px solid #122849;padding:0 32px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #1b3a6b2e}.logo{font-size:22px;font-weight:700;letter-spacing:-.5px;color:#fff}.logo span{color:#93c5fd}.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:background .15s,transform .1s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-validate{background:#1b3a6b!important;border-color:#1b3a6b!important;color:#fff!important;opacity:1!important}.btn-validate:hover{background:#122849!important}.btn-validate:disabled{background:#1b3a6b!important;opacity:.7!important;color:#fff!important}.btn-success{background:#15803d;color:#fff}.btn-success:hover{background:#166534}.btn-ghost{background:#fff;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg);color:var(--text)}.page{max-width:1200px;margin:0 auto;padding:32px 24px}.page--wide{max-width:none;margin:0;padding:32px 24px}.col-shaded{background:#0000000d}.screen-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:6px}.screen-subtitle{font-size:14px;color:var(--text-muted);margin-bottom:24px}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.table-wrap-scroll{scrollbar-width:none;-ms-overflow-style:none}.table-wrap-scroll::-webkit-scrollbar{display:none}table{width:100%;border-collapse:collapse}thead tr{background:var(--primary)}th{padding:13px 18px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#ffffffd1}td{padding:14px 18px;font-size:14px;border-bottom:1px solid var(--border);color:var(--text)}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#eef2ff;cursor:pointer}.doc-table-compact td{padding:6px 12px;font-size:13px}.doc-table-compact th{padding:8px 12px}.doc-table-compact .badge{padding:3px 10px;font-size:10px;min-width:0;width:fit-content}.next-step-btn,td .next-step-btn{min-width:150px!important;max-width:150px!important;width:150px!important;text-align:center!important;justify-content:center!important;display:inline-flex!important;align-items:center!important}.dashboard-compact td{padding:6px 18px}.dashboard-compact .badge{padding:4px 10px;font-size:12px;min-width:110px}.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;min-width:110px;text-align:center;white-space:nowrap}.badge-draft{background:#f1f5f9;color:#475569;border:1px solid #CBD5E1}.badge-classify{background:#fff7ed;color:#c2410c;border:1px solid #FDBA74}.badge-classifying{background:#fff7ed;color:#c2410c;border:1px solid #FDBA74;animation:pulse-badge 1.5s ease-in-out infinite}.badge-confirm{background:#fef9c3;color:#a16207;border:1px solid #FDE047}.badge-ready{background:#ecfdf5;color:#047857;border:1px solid #6EE7B7}.badge-processing{background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE;animation:pulse-badge 1.5s ease-in-out infinite}.badge-complete{background:var(--green-bg);color:var(--green);border:1px solid #BBF7D0}.badge-failed{background:var(--red-bg);color:var(--red);border:1px solid #FECACA}.badge-review{background:var(--amber-bg);color:var(--amber);border:1px solid #FDE68A}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.6}}.progress-bar{display:flex;align-items:center;gap:3px}.progress-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f0;transition:background .2s}.progress-dot.active{background:var(--accent)}.progress-dot.current{background:var(--accent);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent)}.progress-dot.failed{background:var(--red)}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:28px;margin-bottom:20px;box-shadow:0 1px 4px #0000000f}.form-card h2{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:20px;letter-spacing:.08em;text-transform:uppercase}.form-card .form-remove{opacity:.5}.form-card .form-remove:hover{opacity:1;color:var(--red)!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.field input{width:100%;background:var(--surface);border:1px solid #D1D5DB;border-radius:6px;padding:10px 14px;color:var(--text);font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b3a6b1a}.field input::placeholder{color:#9ca3af}.dropzone{background:var(--surface2);border:2px dashed #D1D5DB;border-radius:10px;padding:40px 24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.drag-over{border-color:var(--primary);background:#eef2ff}.dropzone-icon{font-size:38px;margin-bottom:12px}.dropzone p{color:var(--text-muted);font-size:14px;margin-bottom:6px}.dropzone p strong{color:var(--text)}.dropzone small{color:#9ca3af;font-size:12px}.file-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}.file-item{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px 14px;display:flex;align-items:center;gap:10px;font-size:13px}.file-item .file-icon{color:var(--primary);font-size:16px}.file-item .file-name{flex:1;color:var(--text)}.file-item .file-size{color:var(--text-muted);font-size:12px}.file-remove{color:#9ca3af;cursor:pointer;background:none;border:none;font-size:16px;line-height:1;padding:2px 6px;border-radius:4px}.file-remove:hover{background:var(--red-bg);color:var(--red)}.seq-col{width:68px;flex-shrink:0;text-align:right;padding-right:2px;display:inline-flex;align-items:center;justify-content:flex-end;gap:2px}.seq-badge{font-size:10px;font-weight:600;padding:1px 5px;border-radius:3px;font-family:var(--font-mono, monospace);white-space:nowrap;display:inline-block}.seq-badge.status-complete{background:#e5e7eb;color:#6b7280}.seq-badge.status-ready{background:#dcfce7;color:#16a34a}.seq-badge.status-confirm{background:#fef3c7;color:#d97706}.seq-badge.status-draft{background:#fff;border:1px solid #D1D5DB;color:#9ca3af;padding:0 4px}*:hover>.edit-pencil{opacity:1!important}.review-grid{display:grid;grid-template-columns:1fr 300px;gap:20px;transition:grid-template-columns .3s ease}.review-grid.panel-collapsed{grid-template-columns:1fr 32px;gap:4px}.doc-list{display:flex;flex-direction:column;gap:6px}.right-panel{position:relative;transition:opacity .3s ease;min-width:0}.right-panel-content{transition:opacity .3s ease,visibility .3s ease;padding-left:16px}.right-panel.collapsed .right-panel-content,.right-panel.collapsed .doc-list{display:none}.right-panel-toggle{position:absolute;top:0;left:-16px;width:28px;height:28px;background:var(--surface);border:1px solid var(--border);border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-muted);box-shadow:0 1px 3px #00000014;z-index:5;transition:background .15s,color .15s,transform .2s}.right-panel-toggle:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.right-panel.collapsed .right-panel-toggle{position:static;left:auto}.right-panel-toggle .badge{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;background:var(--amber);color:#fff;border-radius:9px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 1px 2px #00000026}.doc-item{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:11px 14px;cursor:pointer;font-size:13px;color:var(--text-muted);transition:all .15s;box-shadow:0 1px 2px #0000000a}.doc-item:hover{background:#f0f4ff;color:var(--text);border-color:#c7d2fe}.doc-item.active{background:#eef2ff;border-color:var(--primary);border-left:3px solid var(--primary);color:var(--text)}.doc-item .doc-name{font-weight:600;margin-bottom:2px;color:var(--text)}.doc-item .doc-sub{font-size:11px;color:var(--text-muted)}.classification-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;box-shadow:0 1px 4px #0000000f}.classification-card h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:18px;font-weight:700}.class-row{margin-bottom:16px}.class-label{font-size:12px;color:var(--text-muted);margin-bottom:4px;font-weight:500}.class-value{font-size:15px;font-weight:600;color:var(--text)}.confidence-bar-wrap{margin-top:6px}.confidence-bar-bg{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-top:6px}.confidence-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.confidence-green{color:var(--green)}.confidence-amber{color:var(--amber)}.confidence-red{color:var(--red)}.bar-green{background:#22c55e}.bar-amber{background:#f59e0b}.bar-red{background:#ef4444}.reasoning-box{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:14px;font-size:13px;color:#4b5563;line-height:1.65;margin-top:6px}.form356h{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;margin-top:20px;box-shadow:0 1px 4px #0000000f}.form356h h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:18px;font-weight:700}.form356h-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form356h-field{border-bottom:1px solid #F3F4F6;padding-bottom:12px}.form356h-field .f-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}.form356h-field .f-value{font-size:14px;font-weight:500;color:var(--text)}.status-center{max-width:700px;margin:0 auto}.progress-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:32px;margin-bottom:24px;box-shadow:0 1px 4px #0000000f}.progress-card h2{font-size:18px;font-weight:700;margin-bottom:24px;color:var(--text)}.step-list{display:flex;flex-direction:column;gap:14px}.step-item{display:flex;align-items:center;gap:14px}.step-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.step-icon.done{background:#dcfce7;color:#15803d}.step-icon.active{background:#eef2ff;color:var(--primary)}.step-icon.pending{background:#f3f4f6;color:#9ca3af}.step-label{font-size:14px}.step-label.done{color:var(--text)}.step-label.active{color:var(--primary);font-weight:600}.step-label.pending{color:#9ca3af}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-highlight{0%{background-color:inherit}50%{background-color:#fff3cd}to{background-color:inherit}}.highlight-pulse{animation:pulse-highlight 1s ease-in-out 3}.spinner{width:16px;height:16px;border:2px solid rgba(27,58,107,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.sharepoint-link-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:28px 24px;text-align:center;margin-bottom:24px;box-shadow:0 1px 4px #0000000f}.sharepoint-link-box .sp-icon{font-size:32px;margin-bottom:10px}.sharepoint-link-box p{color:var(--text-muted);font-size:13px;margin-bottom:10px}.sharepoint-link-box a{color:#15803d;font-size:14px;font-weight:600;text-decoration:none;word-break:break-all}.sharepoint-link-box a:hover{text-decoration:underline}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:24px;margin-bottom:24px;box-shadow:0 1px 4px #0000000f}.summary-card h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:16px;font-weight:700}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-item{border-left:3px solid var(--primary);padding-left:12px}.summary-item .s-label{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.04em}.summary-item .s-value{font-size:15px;font-weight:600;color:var(--text)}.row-between{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.row-start{display:flex;align-items:center;gap:12px;margin-bottom:24px}.divider{height:1px;background:var(--border);margin:20px 0}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted);font-size:14px}.val-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:16px 20px;border-radius:10px;border:1px solid}.val-header.val-pass{background:var(--green-bg);border-color:#bbf7d0}.val-header.val-fail{background:var(--red-bg);border-color:#fecaca}.val-header .val-verdict{font-size:18px;font-weight:700}.val-header.val-pass .val-verdict{color:var(--green)}.val-header.val-fail .val-verdict{color:var(--red)}.val-header .val-counts{display:flex;gap:16px;font-size:13px;font-weight:600}.val-header .vc-err{color:var(--red)}.val-header .vc-warn{color:var(--amber)}.val-header .vc-pass{color:var(--green)}.val-category{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.val-cat-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text);background:var(--surface2);border-bottom:1px solid var(--border)}.val-cat-header:hover{background:#eef2ff}.val-cat-header .vch-icon{font-size:16px}.val-cat-header .vch-ref{font-size:10px;color:var(--text-muted);font-weight:400;margin-left:auto}.val-cat-header .vch-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px}.vch-badge.has-err{background:var(--red-bg);color:var(--red)}.vch-badge.has-warn{background:var(--amber-bg);color:var(--amber)}.vch-badge.all-pass{background:var(--green-bg);color:var(--green)}.val-items{padding:8px 0}.val-item{display:flex;align-items:flex-start;gap:10px;padding:6px 16px;font-size:12px}.val-item .vi-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0;margin-top:1px}.vi-icon.vi-pass{background:var(--green-bg);color:var(--green)}.vi-icon.vi-error{background:var(--red-bg);color:var(--red)}.vi-icon.vi-warn{background:var(--amber-bg);color:var(--amber)}.vi-icon.vi-info{background:#eff6ff;color:#1d4ed8}.val-item .vi-text{flex:1;color:var(--text);line-height:1.5}.val-item .vi-file{font-family:monospace;font-size:11px;color:var(--text-muted);background:var(--surface2);padding:1px 6px;border-radius:3px}.link-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.link-stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;text-align:center}.link-stat .ls-num{font-size:24px;font-weight:700;margin-bottom:2px}.link-stat .ls-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.link-stat.good .ls-num{color:var(--green)}.link-stat.bad .ls-num{color:var(--red)}.link-stat.warn .ls-num{color:var(--amber)}.link-stat.info .ls-num{color:var(--primary)}.link-report-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f}.link-report-card h4{font-size:13px;font-weight:600;margin-bottom:12px;display:flex;align-items:center;gap:8px}.link-table{width:100%;border-collapse:collapse;font-size:12px}.link-table th{text-align:left;padding:6px 10px;background:var(--surface2);color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.link-table td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text)}.link-table tr:last-child td{border-bottom:none}.link-status-valid{color:var(--green);font-weight:600}.link-status-broken{color:var(--red);font-weight:600}.link-status-external{color:var(--text-muted)}.link-match-suggest{background:var(--amber-bg);border:1px solid #fde68a;border-radius:6px;padding:6px 10px;font-size:11px;display:flex;align-items:center;gap:8px;margin-top:4px}.link-match-suggest button{background:var(--green);color:#fff;border:none;border-radius:4px;padding:2px 8px;font-size:10px;cursor:pointer;font-weight:600}.dnd-tree-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;box-shadow:0 1px 4px #0000000f;overflow-y:auto;max-height:70vh}.dnd-tree-panel h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-weight:700}.dnd-folder{padding:4px 0}.dnd-folder-header{display:flex;align-items:center;gap:6px;min-height:40px;padding:8px;border-radius:4px;cursor:pointer;font-size:12px;color:var(--text);transition:background .1s}.dnd-folder-header:hover{background:var(--surface2)}.dnd-folder-header.drop-target{background:#eef2ff;outline:2px dashed var(--primary);outline-offset:-2px;border-radius:6px}.dnd-folder-header.drag-target-candidate{padding-top:8px;padding-bottom:8px;background:#f9fafb}.dnd-folder-header .folder-section{font-family:monospace;font-weight:700;color:var(--primary);min-width:50px;pointer-events:none}.dnd-folder-header .folder-title{flex:1;font-size:12px;pointer-events:none}.dnd-folder-header .folder-count{font-size:10px;color:var(--text-muted);background:var(--surface2);padding:1px 6px;border-radius:8px;pointer-events:none}.dnd-folder-header .folder-required{font-size:9px;color:var(--amber);font-weight:600;pointer-events:none}.dnd-doc-item{display:flex;align-items:center;gap:5px;padding:6px 8px 6px 12px;font-size:12px;color:var(--text);cursor:grab;border-radius:4px;transition:background .1s}.dnd-doc-item:hover{background:var(--surface2)}.dnd-doc-item.dragging{opacity:.4}.dnd-doc-item .doc-lock{font-size:10px;cursor:pointer;padding:2px 4px;border-radius:3px}.dnd-doc-item .doc-lock:hover{background:var(--surface2)}.dnd-doc-item .doc-remove{opacity:0!important}.dnd-doc-item:hover .doc-remove{opacity:1!important}.dnd-doc-item .doc-remove:hover{color:var(--red)!important}.doc-insertion-zone{height:0;position:relative;margin:0 8px 0 12px}.doc-insertion-zone.drag-armed{height:0;position:relative;z-index:3}.doc-insertion-zone.drag-armed:after{content:"";position:absolute;left:0;right:0;top:-8px;height:16px;pointer-events:all}.doc-insertion-zone.drag-active:after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:#1b3a6b;pointer-events:none;z-index:10}.doc-insertion-zone.drag-active:before{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:#1b3a6b;pointer-events:none;z-index:10}.rename-input{border:1px solid var(--primary);border-radius:4px;padding:2px 6px;font-size:12px;font-family:monospace;outline:none;width:100%}.rename-preview{font-size:10px;color:var(--text-muted);font-family:monospace;margin-top:2px}.undo-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;margin-bottom:12px;font-size:12px;color:var(--text-muted)}.undo-bar button{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer;color:var(--text-muted)}.undo-bar button:hover{color:var(--text);background:var(--bg)}.undo-bar button:disabled{opacity:.3;cursor:default}.section-select{width:100%;padding:8px 10px;border:1px solid #D1D5DB;border-radius:6px;font-size:13px;color:var(--text);background:var(--surface);outline:none;cursor:pointer;transition:border-color .15s}.section-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b3a6b1a}.section-select option{font-size:13px}.review-source{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.review-source.ai{background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE}.review-source.human{background:var(--green-bg);color:var(--green);border:1px solid #BBF7D0}.override-banner{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:8px 12px;font-size:12px;color:var(--green);margin-top:8px}.review-3col{display:grid;grid-template-columns:280px 1fr 1fr;gap:16px}.review-compiler-3col-flex{flex:1;min-height:0;min-width:0}.review-2col{display:grid;grid-template-columns:280px 1fr;gap:16px}.viewer-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f;display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.viewer-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--surface2);border-bottom:1px solid var(--border);flex-shrink:0}.viewer-toolbar .vt-title{flex:1;font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-toolbar button{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;color:var(--text-muted);transition:all .15s}.viewer-toolbar button:hover{background:var(--bg);color:var(--text)}.viewer-toolbar button:disabled{opacity:.4;cursor:default}.preview-pane-body .viewer-toolbar{background:#1e3f73;border-bottom:1px solid rgba(255,255,255,.15);justify-content:flex-start}.preview-pane-body .viewer-toolbar .vt-title{display:none}.preview-pane-body .viewer-toolbar .vt-page{color:#fffc}.preview-pane-body .viewer-toolbar button{background:#ffffff26;border-color:#fff3;color:#fff}.preview-pane-body .viewer-toolbar button:hover{background:#ffffff40;color:#fff}.preview-pane-body .viewer-toolbar button:disabled{opacity:.4;color:#ffffff80}.viewer-toolbar .vt-page{font-size:11px;color:var(--text-muted);min-width:80px;text-align:center}.viewer-body{flex:1;overflow:auto;background:#525659;position:relative;min-height:400px}.viewer-body.light-bg{background:var(--surface)}.viewer-body canvas{display:block;margin:12px auto;box-shadow:0 2px 12px #0000004d}.viewer-body img{display:block;max-width:100%;margin:12px auto}.viewer-body pre{padding:16px;font-size:12px;line-height:1.6;color:#d4d4d4;white-space:pre-wrap;word-break:break-word;font-family:Consolas,Monaco,Courier New,monospace}.viewer-body .xml-tag{color:#569cd6}.viewer-body .xml-attr{color:#9cdcfe}.viewer-body .xml-value{color:#ce9178}.viewer-body .xml-comment{color:#6a9955;font-style:italic}.viewer-docx{padding:24px 32px;font-size:13px;line-height:1.7;color:var(--text);background:#fff;min-height:100%}.viewer-docx h1{font-size:20px;margin:16px 0 8px}.viewer-docx h2{font-size:17px;margin:14px 0 6px}.viewer-docx h3{font-size:15px;margin:12px 0 4px}.viewer-docx p{margin:6px 0}.viewer-docx table{border-collapse:collapse;width:100%;margin:8px 0}.viewer-docx td,.viewer-docx th{border:1px solid var(--border);padding:4px 8px;font-size:12px}.viewer-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:13px;flex-direction:column;gap:8px}.viewer-empty .ve-icon{font-size:32px;opacity:.5}.viewer-fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;background:#525659;display:flex;flex-direction:column}.viewer-fullscreen .viewer-toolbar,.viewer-fullscreen .viewer-body{border-radius:0}.annot-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:16px;box-shadow:0 1px 4px #0000000f}.annot-panel h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px;font-weight:700}.annot-list{display:flex;flex-direction:column;gap:8px}.annot-item{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:12px}.annot-item .annot-page{font-size:10px;color:var(--text-muted);margin-bottom:4px;font-weight:600;text-transform:uppercase}.annot-item .annot-text{color:var(--text);line-height:1.5}.annot-item .annot-highlight{background:#fef9c3;border-left:3px solid #eab308;padding:4px 8px;margin-bottom:4px;font-style:italic;color:#713f12;font-size:11px}.annot-item .annot-flag{display:inline-block;background:var(--red-bg);color:var(--red);font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px;margin-left:6px}.annot-add{display:flex;gap:8px;margin-top:8px}.annot-add textarea{flex:1;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:12px;font-family:inherit;resize:vertical;min-height:36px;outline:none}.annot-add textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #1b3a6b1a}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}.compare-label{text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);padding:6px;background:var(--surface2);text-transform:uppercase;letter-spacing:.06em}.pkg-tree{font-size:12px;font-family:monospace}.pkg-tree-item{padding:3px 0;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--text-muted);transition:color .1s;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pkg-tree-item:hover{color:var(--text)}.pkg-tree-item.active{color:var(--primary);font-weight:600}.pkg-tree-item .tree-icon{font-size:14px;width:18px;text-align:center}.pkg-tree-folder{padding-left:16px}.pkg-tree-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px;width:14px;text-align:center;color:var(--text-muted)}.xml-valid{color:var(--green);font-size:11px;font-weight:600}.xml-error{color:var(--red);font-size:11px}.import-tabs{display:flex;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:24px}.import-tab{flex:1;padding:12px 16px;background:var(--surface);border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-muted);transition:all .15s;border-right:1px solid var(--border)}.import-tab:last-child{border-right:none}.import-tab:hover{background:var(--surface2);color:var(--text)}.import-tab.active{background:var(--primary);color:#fff}.import-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:28px;box-shadow:0 1px 4px #0000000f;margin-bottom:20px}.import-card h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:18px;font-weight:700}.import-preview{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:20px;margin-top:16px}.import-meta-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}.import-meta-item .im-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}.import-meta-item .im-value{font-size:14px;font-weight:500;color:var(--text)}.seq-list{display:flex;flex-direction:column;gap:8px}.seq-item{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:13px}.seq-num{font-family:monospace;font-weight:700;color:var(--primary);font-size:14px;min-width:44px}.seq-type{color:var(--text-muted);flex:1}.seq-docs{font-size:12px;color:var(--text-muted);background:var(--surface2);padding:2px 8px;border-radius:12px}.badge-imported{background:#eff6ff;color:#1d4ed8;border:1px solid #BFDBFE}.import-result-banner{background:var(--green-bg);border:1px solid #BBF7D0;border-radius:10px;padding:20px 24px;text-align:center;margin-bottom:20px}.import-result-banner h3{color:var(--green);font-size:16px;margin-bottom:6px}.import-result-banner p{color:#4b5563;font-size:13px}.fda-search-row{display:flex;gap:12px;align-items:flex-end}.fda-search-row .field{flex:1}.fda-seq-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:13px}.fda-seq-item:last-child{border-bottom:none}.login-page{min-height:100vh;background:linear-gradient(135deg,#1b3a6b,#122849,#0a1a33);display:flex;flex-direction:column;align-items:center;justify-content:center}.login-card{background:#fff;border-radius:16px;padding:48px 44px;width:420px;max-width:90vw;box-shadow:0 20px 60px #0000004d;text-align:center}.login-logo{font-size:36px;font-weight:700;letter-spacing:-1px;color:var(--primary);margin-bottom:8px}.login-logo span{color:#3b82f6}.login-tagline{font-size:14px;color:var(--text-muted);margin-bottom:36px}.login-divider{height:1px;background:var(--border);margin:24px 0}.btn-microsoft{display:inline-flex;align-items:center;gap:12px;padding:14px 32px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;border:1px solid #D1D5DB;background:#fff;color:var(--text);transition:all .15s;width:100%;justify-content:center}.btn-microsoft:hover{background:#f3f4f6;border-color:#9ca3af;box-shadow:0 2px 8px #00000014}.btn-microsoft:disabled{opacity:.6;cursor:not-allowed}.btn-microsoft svg{width:20px;height:20px;flex-shrink:0}.login-error{background:var(--red-bg);border:1px solid #FECACA;border-radius:8px;padding:10px 16px;font-size:13px;color:var(--red);margin-bottom:16px}.login-footer{margin-top:32px;font-size:12px;color:#ffffff80}.header-user{display:flex;align-items:center;gap:12px}.header-avatar{width:32px;height:32px;border-radius:50%;background:#ffffff26;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.5px}.header-user-name{font-size:13px;color:#ffffffd9;font-weight:500}.btn-signout{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fffc;padding:5px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.btn-signout:hover{background:#fff3;color:#fff}.auth-loading{padding:2rem;text-align:center;color:#666}.prompt-row .prompt-row-actions{opacity:0;transition:opacity .1s ease-in-out}.prompt-row:hover .prompt-row-actions{opacity:1}.prompt-row:hover{background:#eff6ff!important}
