*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;width:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:#333}.app-layout{display:flex;height:100vh;width:100vw}.left-nav{width:var(--left-nav-width, 280px);min-width:220px;max-width:640px;border-right:1px solid #ede5d7;display:flex;flex-direction:column;background:#fffdf8;overflow:hidden;position:relative;flex-shrink:0;transition:width .15s ease,min-width .15s ease,max-width .15s ease}.left-nav.is-collapsed{width:32px;min-width:32px;max-width:32px}.left-nav-brand-row{display:flex;align-items:stretch;border-bottom:1px solid #ede5d7;background:#f5efe1}.left-nav-brand-row .left-nav-brand{flex:1;border-bottom:none}.left-nav-collapse{padding:0 8px;background:transparent;border:none;border-left:1px solid #ede5d7;color:#8a7f74;cursor:pointer;display:inline-flex;align-items:center;transition:background .12s,color .12s}.left-nav-collapse:hover{background:#ede1c6;color:#4a4238}.left-nav-expand{position:absolute;top:0;left:0;width:100%;height:100%;padding:12px 0 0;background:#f5efe1;border:none;border-right:1px solid #ede5d7;color:#6b6155;cursor:pointer;display:flex;align-items:flex-start;justify-content:center;transition:background .12s,color .12s}.left-nav-expand:hover{background:#ede1c6;color:#2d2a26}.left-nav-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;background:transparent;transition:background .15s}.left-nav-resizer:hover,.left-nav-resizer.is-dragging{background:#b08a5f59}.left-nav-brand{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #ede5d7;background:#f5efe1;text-decoration:none;color:inherit;cursor:pointer}.left-nav-brand:hover{background:#ede1c6}.left-nav-brand .brand-back{color:#8a7f74}.nav-logo{width:24px;height:auto}.nav-brand-text{font-size:15px;font-weight:700;color:#2f5b8f;letter-spacing:.2px}.nav-brand-greeting{margin-left:auto;padding-left:8px;font-size:12px;font-weight:500;color:#4a4238;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-nav-header{padding:10px 12px;border-bottom:1px solid #ede5d7;background:#fdfbf5}.project-title-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid #ede5d7;margin-bottom:8px;line-height:1.25}.project-title-row .project-number{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;font-weight:700;color:#7a4d0a;letter-spacing:.4px}.project-title-row .project-title-sep{color:#b0a795}.project-title-row .project-name{font-size:13.5px;font-weight:600;color:#2d2a26;overflow-wrap:anywhere}.project-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;padding:2px 0 6px;font-size:12px;color:#4a4238}.project-summary-num{font-weight:700;color:#2d2a26;font-variant-numeric:tabular-nums}.project-summary-label{color:#6b6155}.project-summary-sep{color:#b0a795;margin:0 2px}.left-nav-filter{padding:6px 12px;border-bottom:1px solid #eee}.filter-input{width:100%;padding:5px 8px;border:1px solid #ddd;border-radius:4px;font-size:12px;background:#fff}.filter-input:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}.left-nav-list{flex:1;overflow-y:auto;padding:4px 0}.main-pane{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.search-pane{width:320px;min-width:320px;border-left:1px solid #ddd;display:flex;flex-direction:column;background:#f8f9fa;overflow:hidden}.toolbar{display:flex;align-items:center;padding:4px 8px;border-bottom:1px solid #ede5d7;background:#f5efe1;min-height:38px;gap:4px}.toolbar-markup{background:#ff69b4;border-bottom-color:#d4487a}.markup-label{font-weight:700;color:#fff;font-size:12px;letter-spacing:.5px}.toolbar-section{display:flex;align-items:center;gap:2px}.toolbar-left{flex:1;justify-content:flex-start}.toolbar-center{flex:0 0 auto;justify-content:center;gap:4px}.toolbar-right{flex:1;justify-content:flex-end;gap:2px}.toolbar-sep{width:1px;height:20px;background:#e6ddcd;margin:0 4px}.tb-icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:3px;padding:4px 6px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:#4a4238;font-size:12px;white-space:nowrap;line-height:1}.tb-icon-btn:hover:not(:disabled){background:#f2ead9;border-color:#d9cbaa;color:#2d2a26}.tb-icon-btn:disabled{opacity:.35;cursor:not-allowed}.tb-icon-btn.active{background:#2f5b8f;color:#fff;border-color:#2f5b8f}.tb-icon-btn.active:hover{background:#234f7f}.tb-icon-btn.active.sticky{background:#3a7a4a;border-color:#3a7a4a}.tb-icon-btn.active.sticky:hover{background:#2f6e3f}.tb-icon-btn.has-issue{background:#dc3545;color:#fff;border-color:#dc3545}.tb-icon-btn.has-issue:hover{background:#b02a37}.tb-icon-btn-on-markup{color:#fff;border-color:#ffffff8c}.tb-icon-btn-on-markup:hover:not(:disabled){background:#ffffff2e;border-color:#fff;color:#fff}.tb-icon-btn-on-markup.has-issue{background:#fff;color:#c2185b;border-color:#fff}.tb-icon-btn-on-markup.has-issue:hover{background:#ffe1ee;color:#c2185b}.tb-label{font-size:11px;font-weight:500}.icon-green{color:#28a745}.icon-red{color:#dc3545}.icon-yellow{color:#e6a817}.tb-icon-btn.active .icon-green,.tb-icon-btn.active .icon-red,.tb-icon-btn.active .icon-yellow{color:#fff}.page-info{font-size:13px;color:#555;display:flex;align-items:center;gap:4px;white-space:nowrap}.page-input{width:42px;text-align:center;padding:2px 4px;border:1px solid #ccc;border-radius:3px;font-size:13px}.zoom-dropdown-wrapper{position:relative}.zoom-pct{font-size:11px;min-width:24px}.zoom-input-group{display:inline-flex;align-items:center;border:none;background:transparent;height:22px;margin:0 2px}.zoom-nudge-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:20px;border:none;background:transparent;cursor:pointer;color:#555;padding:0;border-radius:0}.zoom-nudge-btn:hover{background:#e9ecef;color:#333}.zoom-input{width:38px;height:18px;border:none;text-align:center;font-size:10px;padding:0 2px;outline:none;background:transparent;font-variant-numeric:tabular-nums}.zoom-input:focus{outline:none}.zoom-input-pct{font-size:10px;color:#555;padding:0 3px 0 1px;user-select:none}.zoom-dropdown{position:absolute;top:100%;right:0;margin-top:2px;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001f;z-index:100;min-width:70px}.zoom-option{display:block;width:100%;padding:5px 12px;border:none;background:none;cursor:pointer;font-size:12px;text-align:left;color:#333;border-radius:0}.zoom-option:hover{background:#e9ecef}.zoom-option.active{background:#0d6efd;color:#fff}.toolbar-group{display:flex;align-items:center;gap:4px}.toolbar-separator{width:1px;height:20px;background:#ddd;margin:0 4px}button{padding:4px 10px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;white-space:nowrap}button:hover:not(:disabled):not(.btn-select-folder):not(.btn-rescan):not(.tb-icon-btn):not(.btn-save):not(.zoom-option):not(.btn-primary):not(.btn-secondary):not(.btn-danger){background:#e9ecef}button:disabled{opacity:.4;cursor:not-allowed}button.active{background:#0d6efd;color:#fff;border-color:#0d6efd}input[type=text],input[type=number]{padding:4px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px}.pdf-title-bar{flex:0 0 auto;background:#2b2b2b;color:#f5f5f5;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;border-bottom:1px solid #1a1a1a;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;overflow-x:auto}.pdf-title-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-ref-bar{flex:0 0 auto;background:#2b2b2b;color:#f5f5f5;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;border-bottom:1px solid #1a1a1a;white-space:nowrap;overflow-x:auto;cursor:pointer;user-select:text;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;transition:background .18s ease-out}.selected-ref-bar .ref-bar-copy-indicator{display:inline-flex;align-items:center;gap:4px;color:#b8b8b8;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;white-space:nowrap;transition:color .18s ease-out}.selected-ref-bar .ref-bar-override-pill{background:#ffd54a;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:700;letter-spacing:.6px;padding:2px 6px;border-radius:3px;user-select:none}.selected-ref-bar.ref-bar-copied{background:#1f6b3a}.selected-ref-bar.ref-bar-copied:hover{background:#257a44}.selected-ref-bar.ref-bar-copied .ref-bar-copy-indicator{color:#e6f7ec;font-weight:600}.markup-header-row{flex:0 0 auto;display:grid;grid-template-columns:1fr;grid-template-rows:auto}.markup-header-row>*{grid-column:1;grid-row:1}.markup-status-badge{justify-self:start;z-index:2;background:#ffd166;color:#1a1a1a;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:700;letter-spacing:.5px;border-bottom:1px solid #1a1a1a;white-space:nowrap;user-select:none}.selected-ref-bar:hover{background:#383838}.pdf-viewer-container{flex:1;overflow:auto;position:relative;background:#e5e5e5}.pdf-canvas-wrapper{position:relative;background:#fff;width:fit-content;margin:0 auto}.pdf-canvas-wrapper canvas{display:block;background:#fff}.citation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto}.citation-box{position:absolute;border:2px solid #1e4974;background:transparent;pointer-events:auto;cursor:pointer}.citation-box.selected{background:#1e49741a}.citation-handle{position:absolute;left:-2px;top:-2px;transform:translateY(-100%);background:#1e4974;color:#fff;font-size:10px;font-weight:700;padding:1px 4px;border-radius:2px 2px 0 0;white-space:nowrap;font-family:monospace;cursor:pointer;pointer-events:auto}.citation-handle-override{color:#ffd54a;margin-left:2px;font-weight:700}.markup-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto}.markup-block{position:absolute;background:transparent;border:1px solid #999;cursor:pointer;pointer-events:auto}.markup-block.ignored{background:#ff69b44d;border:2px solid #d4487a}.markup-block:hover{background:#ff69b426}.markup-block.ignored:hover{background:#ff69b473}.markup-block-static{position:absolute;background:transparent;border:1px solid transparent;pointer-events:none}.markup-block-static.ignored{background:#ff69b433;border:1px solid #d4487a}.column-boundary-line{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed #0d6efd;pointer-events:none;z-index:5}.show-blocks-tile{position:absolute;background:#4ade8038;border:1.5px solid #16a34a;cursor:pointer;pointer-events:auto;z-index:8;transition:background .1s ease,border-color .1s ease}.show-blocks-tile:hover{background:#4ade8066}.show-blocks-tile.ignored{background:#78787859;border-color:#666}.show-blocks-tile.ignored:hover{background:#78787880}.ignored-box{position:absolute;background:#64646447;pointer-events:none;z-index:3}.ignored-box-preview{background:#6464642e;border:1px dashed #555;z-index:10}.ignored-box-remove{position:absolute;transform:translate(-100%);margin-left:-2px;margin-top:2px;width:16px;height:16px;line-height:14px;text-align:center;font-size:14px;font-weight:700;color:#fff;background:#dc3545;border-radius:2px;cursor:pointer;pointer-events:auto;z-index:9;user-select:none}.ignored-box-remove:hover{background:#a12530}.column-boundary-remove{position:absolute;top:2px;transform:translate(-50%);width:16px;height:16px;line-height:14px;text-align:center;font-size:14px;font-weight:700;color:#fff;background:#0d6efd;border-radius:50%;cursor:pointer;pointer-events:auto;z-index:6;user-select:none}.column-boundary-remove:hover{background:#dc3545}.column-cursor-line{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed rgba(13,110,253,.5);pointer-events:none;z-index:4}.column-label{position:absolute;top:4px;transform:translate(-50%);background:#0d6efd;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:3px;pointer-events:none;z-index:6}.column-placement-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair;z-index:3}.line-interaction-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:7}.line-static-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:7}.column-placement-direct{z-index:1}.markup-block-direct{position:absolute;background:transparent;border:1px dashed rgba(120,120,120,.45);pointer-events:none;z-index:2}.markup-block-direct.ignored{background:#ff69b440;border:2px solid #d4487a}.markup-block-direct.in-figure{border-color:transparent;background:transparent;pointer-events:none;cursor:default}.markup-block-direct.mode-box{pointer-events:auto;cursor:pointer}.markup-block-direct.mode-box:hover{background:#fef08a8c;border-color:#ca8a04}.markup-block-direct.mode-box.ignored:hover{background:#fef08ab3;border-color:#ca8a04}.markup-line-direct{pointer-events:none;z-index:7}.markup-line-direct.mode-line{pointer-events:auto;cursor:pointer}.markup-line-direct.mode-line:hover,.markup-line-direct.mode-line.line-ignored:hover,.markup-line-direct.mode-line.paragraph-start:hover{background:#fef08ab3}.writer-box-direct{position:absolute;border:2px solid #000;background:transparent;pointer-events:none;z-index:6}.writer-box-direct-label{position:absolute;top:-2px;left:-2px;background:#000;color:#fff;font-size:10px;font-weight:600;padding:1px 5px;border-radius:2px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.writer-box-direct.adopt-target{pointer-events:auto;cursor:pointer}.writer-box-direct.adopt-target:hover{background:#9b59b659;border-color:#9b59b6}.writer-box-direct{pointer-events:auto;cursor:pointer}.writer-box-direct.selected{background:#fef08a66}.writer-box-direct.no-pointer{pointer-events:none}.figure-region{position:absolute;border:2px solid #9b59b6;background:#9b59b614;pointer-events:none;z-index:8}.figure-region-label{position:absolute;top:-2px;right:-2px;display:inline-flex;align-items:center;gap:6px;background:#9b59b6;color:#fff;font-size:11px;font-weight:600;padding:2px 4px 2px 7px;border-radius:3px 3px 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;cursor:pointer;pointer-events:auto;user-select:none}.figure-region-label:hover{background:#7d3fa0}.figure-region-label-x{display:inline-block;min-width:14px;padding:0 2px 0 6px;margin-left:2px;text-align:center;color:#f55;font-size:13px;font-weight:700;border-left:1px solid rgba(255,255,255,.35)}.figure-region-label-x:hover{color:#fff;background:#dc3545;border-radius:0 3px 0 0}.figure-region-preview{position:absolute;border:2px dashed rgba(155,89,182,.75);background:#9b59b61f;pointer-events:none;z-index:8}.figure-modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.figure-modal{background:#fff;border-radius:8px;box-shadow:0 12px 32px #00000040;padding:20px 22px;width:360px;display:flex;flex-direction:column;gap:10px}.figure-modal-title{margin:0;font-size:16px;color:#1e40af}.figure-modal-hint{margin:0;font-size:12px;color:#6b7280;line-height:1.4}.figure-modal-input{padding:8px 10px;border:1px solid #cbd5e1;border-radius:4px;font-size:14px;outline:none}.figure-modal-input:focus{border-color:#2563eb}.figure-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.paragraph-label{position:absolute;background:#9333eae6;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px;pointer-events:none;z-index:10;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.paragraph-label-center{transform:translate(-50%,-50%);font-size:15px;padding:3px 9px;background:#9333ead9;box-shadow:0 2px 6px #00000040}.markup-line{position:absolute;pointer-events:none;border:1px solid transparent}.markup-line.hovered{background:#ffff0040;border-color:#cc0}.markup-line.paragraph-start{background:#b482ff4d;border-color:#9b59b6}.markup-line.line-ignored{background:#ff69b44d;border-color:#d4487a}.paragraph-box{position:absolute;border:1px solid #9b59b6;background:transparent;pointer-events:none}.line-number-label{position:absolute;font-size:9px;font-family:monospace;color:#888;pointer-events:none;user-select:none;transform:translateY(-50%);line-height:1}.search-highlight-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.search-highlight-box{position:absolute;background:#ffd50059;border-radius:2px;pointer-events:none}.markup-preview-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.column-boundary-line.preview-faint{opacity:.3}.column-label.preview-faint-label{opacity:.5;font-size:10px}.para-separator-line{position:absolute;height:0;border-top:2px solid #9b59b6;pointer-events:none;transform:translateY(-3px)}.para-label{position:absolute;font-size:10px;font-family:monospace;font-weight:700;color:#9b59b6;pointer-events:none;user-select:none;transform:translateY(-100%);line-height:1;padding:0 2px}.line-citation-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;z-index:10}.line-citation-highlight{position:absolute;background:#ffff0059;border:1px solid #cc0;pointer-events:none}.drawing-overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair;z-index:10}.drawing-preview{position:absolute;border:2px dashed #0d6efd;background:#0d6efd1a;pointer-events:none}.pdf-list-item{user-select:none}.pdf-list-item.orphaned .pdf-filename{cursor:default;color:#888;border-top:1px dashed #ddd}.pdf-list-item.orphaned .pdf-filename:hover{background:transparent}.orphan-icon{color:#c2410c;flex:0 0 auto}.pdf-row-action{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;border:none;background:transparent;color:#999;cursor:pointer;opacity:.5;border-radius:3px}.pdf-filename:hover .pdf-row-action{opacity:1}.pdf-row-action:hover{background:#e9ecef;color:#333}.pdf-row-action-biblio{color:#c04a2f;opacity:.85}.pdf-row-action-biblio.biblio-set{color:#3a7a4a}.pdf-row-action-biblio:hover{color:#7a2f1f!important}.pdf-row-action-biblio.biblio-set:hover{color:#2f6e3f!important}.biblio-overlay{position:fixed;inset:0;background:#1e140880;z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px}.biblio-card{background:#fffdf8;border:1px solid #e6ddcd;border-radius:14px;box-shadow:0 24px 48px #140f054d;width:100%;max-width:560px;padding:18px 20px 16px;color:#2d2a26;display:flex;flex-direction:column;gap:12px}.biblio-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#2f5b8f}.biblio-title-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.biblio-close{background:transparent;border:none;color:#8a7f74;cursor:pointer;padding:4px;border-radius:4px;display:inline-flex;align-items:center}.biblio-close:hover{color:#4a4238;background:#ede5d7}.biblio-textarea{width:100%;min-height:120px;padding:10px 12px;border:1px solid #e6ddcd;border-radius:8px;background:#fdfbf5;font-family:inherit;font-size:13px;line-height:1.4;color:#2d2a26;resize:vertical}.biblio-textarea:focus{outline:none;border-color:#b08a5f}.biblio-field-label{font-size:12px;font-weight:600;color:#6b6155;text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.biblio-input{width:100%;padding:8px 12px;border:1px solid #e6ddcd;border-radius:8px;background:#fdfbf5;font-family:inherit;font-size:13px;line-height:1.4;color:#2d2a26}.biblio-input:focus{outline:none;border-color:#b08a5f}.biblio-actions{display:flex;justify-content:flex-end;gap:8px}.left-nav-section-label{padding:8px 12px 4px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#999;border-top:1px dashed #ddd;margin-top:8px}.group-picker{margin:4px 8px 8px;padding:6px;background:#fdfbf5;border:1px solid #d9cbaa;border-radius:8px;display:flex;flex-direction:column;gap:4px;box-shadow:0 6px 16px #140f051f}.group-picker-header{display:flex;align-items:center;justify-content:space-between;padding:2px 4px 4px;font-size:11px;font-weight:700;color:#6b6155;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #ede5d7;margin-bottom:2px}.group-picker-close{background:transparent;border:none;color:#8a7f74;cursor:pointer;padding:2px;border-radius:4px;display:inline-flex;align-items:center}.group-picker-close:hover{color:#4a4238;background:#f2ead9}.group-picker-item{background:transparent;border:1px solid transparent;border-radius:4px;padding:5px 8px;text-align:left;font-size:12.5px;color:#2d2a26;cursor:pointer}.group-picker-item:hover{background:#f2ead9;border-color:#d9cbaa}.group-picker-none{color:#7a2f1f;font-style:italic}.group-picker-new{display:flex;align-items:center;gap:4px;margin-top:4px;padding-top:4px;border-top:1px solid #ede5d7}.group-picker-input{flex:1;padding:4px 8px;border:1px solid #d9cbaa;border-radius:4px;background:#fffdf8;font-size:12.5px;color:#2d2a26}.group-picker-input:focus{outline:none;border-color:#b08a5f}.group-picker-submit{background:#2f5b8f;color:#fff;border:none;border-radius:4px;padding:4px 6px;cursor:pointer;display:inline-flex;align-items:center}.group-picker-submit:disabled{opacity:.4;cursor:not-allowed}.group-picker-submit:hover:not(:disabled){background:#234f7f}.import-status-modal{width:580px!important;max-width:calc(100vw - 40px)}.import-status-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.import-status-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.import-status-pill.present{background:#d1fae5;color:#047857}.import-status-pill.missing{background:#fee2e2;color:#b91c1c}.import-status-pill.changed{background:#fef3c7;color:#92400e}.import-status-table-wrap{max-height:320px;overflow-y:auto;border:1px solid #e5e5e5;border-radius:4px}.import-status-table{width:100%;border-collapse:collapse;font-size:13px}.import-status-table thead th{position:sticky;top:0;background:#f5f5f5;font-weight:600;text-align:left;padding:6px 12px;border-bottom:1px solid #ddd}.import-status-table tbody td{padding:6px 12px;border-bottom:1px solid #f0f0f0;vertical-align:middle}.import-status-table tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.import-status-table tbody tr.row-missing td{background:#fef2f2}.import-status-table tbody tr.row-content-changed td{background:#fffbeb}.status-cell{display:inline-flex;align-items:center;gap:4px}.status-cell.present{color:#047857}.status-cell.missing{color:#b91c1c}.status-cell.changed{color:#92400e}.pdf-filename{padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:6px}.pdf-filename>.pdf-row-action:first-of-type{margin-left:auto}.pdf-filename:hover{background:#e9ecef}.pdf-filename.pdf-active{font-weight:500;background:#e8f0fe;border-left:3px solid #0d6efd;padding-left:9px}.pdf-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto}.citation-count{font-size:10px;font-weight:600;color:#888;white-space:nowrap;flex-shrink:0}.citation-tree{padding-left:16px;font-size:12px;color:#666}.citation-tree .page-group{padding:2px 0}.citation-tree .page-label{font-weight:500;color:#555;padding:2px 12px;cursor:pointer;border-radius:3px}.citation-tree .page-label:hover{background:#e9ecef}.citation-tree .citation-entry{padding:3px 12px 3px 20px;font-family:monospace;font-size:11px;color:#1e4974;display:flex;align-items:center;gap:6px;cursor:pointer;border-radius:3px}.citation-tree .citation-entry:hover{background:#f0f0f0}.citation-tree .citation-entry.citation-selected{background:#d0e7ff}.citation-id{font-weight:600}.markup-status-badge{font-size:9px;font-weight:700;padding:1px 4px;border-radius:3px;background:#ffc107;color:#333;margin-left:4px}.markup-status-inline{font-size:12px;color:#888}.citation-ref-tag{font-size:10px;font-family:monospace;color:#0d6efd;word-break:break-all;cursor:pointer}.citation-delete-btn{color:#dc3545;cursor:pointer;font-size:11px;font-weight:700;line-height:1;font-family:sans-serif}.citation-delete-btn:hover{color:#a71d2a}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-size:16px;text-align:center;padding:20px}.start-screen{display:flex;flex-direction:column;align-items:center;gap:12px}.start-logo{width:120px;height:auto;opacity:.85}.start-title{font-size:28px;font-weight:600;color:#333;margin:0}.start-subtitle{font-size:15px;color:#888;margin:0}.search-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #ddd;background:#fff}.search-header input{flex:1}.search-results-list{flex:1;overflow-y:auto;padding:8px}.search-result-item{padding:8px;border-bottom:1px solid #eee;cursor:pointer}.search-result-item:hover{background:#e9ecef}.search-result-item .result-file{font-weight:500;font-size:12px;color:#0d6efd}.search-result-item .result-page{font-size:11px;color:#888}.search-result-item .result-snippet{font-size:12px;color:#555;margin-top:2px;word-break:break-word}.search-result-item .result-snippet mark{background:#fff3cd;padding:0 1px;border-radius:2px}.override-pane{width:300px;min-width:300px;border-left:1px solid #ddd;display:flex;flex-direction:column;background:#f8f9fa;overflow-y:auto}.override-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;border-bottom:1px solid #ddd;background:#fff}.override-title{font-weight:600;font-size:14px;color:#333}.override-citation-id{font-family:monospace;font-size:12px;color:#1e4974;font-weight:600;margin-top:2px}.override-preview{padding:12px;border-bottom:1px solid #ddd;background:#fff}.override-preview-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.override-preview-dirty{color:#b45309;font-weight:700;text-transform:none;letter-spacing:0}.override-preview-tag{font-family:monospace;font-size:12px;color:#0d6efd;word-break:break-all;display:flex;align-items:flex-start;gap:6px}.override-preview-tag .copy-btn{flex-shrink:0;padding:2px;border:none;background:none;cursor:pointer;color:#888;border-radius:3px}.override-preview-tag .copy-btn:hover{color:#0d6efd;background:#e9ecef}.override-empty{color:#bbb;font-style:italic;font-family:sans-serif}.override-form{padding:12px;display:flex;flex-direction:column;gap:10px}.override-form label{display:flex;flex-direction:column;gap:3px}.override-form .field-label{font-size:11px;font-weight:600;color:#555}.override-form input{padding:5px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px}.override-form input:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}.field-row{display:flex;gap:8px}.field-half{flex:1;display:flex;flex-direction:column;gap:3px}.override-tabs{display:flex;border-bottom:1px solid #ddd}.override-tab{flex:1;padding:10px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:13px;color:#666}.override-tab:hover{background:#f5f5f5}.override-tab.active{background:transparent;color:#0d6efd;border-bottom-color:#0d6efd;font-weight:600}.para-list{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid #e5e5e5;border-radius:4px;background:#fafafa}.para-list-label{margin-bottom:2px}.para-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.para-cell-label{font-size:11px;font-weight:600;color:#555}.override-form input.para-input{width:42px;padding:4px 6px;text-align:center}.para-dash{color:#888;font-size:13px}.para-remove-btn{height:26px;width:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #ccc;border-radius:4px;cursor:pointer;color:#888;margin-left:auto}.para-remove-btn:hover{background:#fee;border-color:#e55;color:#c33}.para-add-btn{display:flex;align-items:center;gap:4px;padding:5px 8px;background:#fff;border:1px dashed #aaa;border-radius:4px;font-size:12px;color:#555;cursor:pointer;align-self:flex-start}.para-add-btn:hover{border-color:#0d6efd;color:#0d6efd}.override-actions{padding:12px;border-top:1px solid #ddd;display:flex;flex-direction:column;gap:8px}.btn-save{width:100%;padding:8px;background:#0d6efd;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer}.btn-save:hover:not(:disabled){background:#0b5ed7}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-remove-override{width:100%;padding:6px;background:#fff;color:#7a1f1f;border:1px solid #f0b4b4;border-radius:4px;font-size:12.5px;cursor:pointer}.btn-remove-override:hover{background:#fff3f3}.ref-override-indicator{color:#e6a817;font-size:10px;margin-left:2px}.btn-rescan{flex-shrink:0;padding:2px 5px!important;background:#f2ead9!important;color:#6b6155!important;border:1px solid #e6ddcd!important;border-radius:5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,color .12s,transform .1s}.btn-rescan-inline{padding:2px 4px!important}.btn-rescan:hover{background:#ede1c6!important;border-color:#d9cbaa!important;color:#4a4238!important}.btn-rescan:active{transform:scale(.94)}.project-row{display:flex;align-items:center;gap:6px;padding:0;flex-wrap:wrap}.project-label{display:inline-flex;align-items:baseline;gap:4px;min-width:0;flex:1;font-size:11.5px;color:#4a4238;word-break:break-all}.project-label-prefix{font-size:10.5px;font-weight:700;color:#8a7f74;text-transform:uppercase;letter-spacing:.4px;flex-shrink:0}.project-label-name{color:#4a4238;overflow-wrap:anywhere}.project-actions{display:flex;gap:2px;flex-shrink:0;margin-left:auto}.btn-project-action{padding:2px 4px!important;border:none!important;background:transparent!important;color:#8a7f74;cursor:pointer;border-radius:4px;display:flex;align-items:center;transition:color .12s,background .12s}.btn-project-action:hover{color:#2f5b8f!important;background:#f5efe1!important}.rescan-message{font-size:10.5px;font-weight:600;color:#3a7a4a;white-space:nowrap}.nav-section{border-bottom:1px solid #ede5d7}.nav-section:last-child{border-bottom:none}.nav-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 12px;background:#fdfbf5;border:none;cursor:pointer;font-family:inherit;font-size:11.5px;font-weight:700;color:#4a4238;text-transform:uppercase;letter-spacing:.5px;text-align:left;transition:background .12s}.nav-section-header:hover,.nav-section-header.is-open{background:#f5efe1}.section-caret{color:#8a7f74;flex-shrink:0}.section-title{flex:1}.section-count{font-size:11px;font-weight:600;color:#6b6155;background:#4a3d2814;padding:1px 7px;border-radius:999px;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}.nav-section-body{padding:4px 0 6px}.nav-section-missing .missing-icon{color:#7a2f1f;flex-shrink:0}.nav-section-missing .nav-section-header{background:#fdece9}.nav-section-missing .nav-section-header:hover{background:#f9d8cf}.nav-section-missing .section-count{background:#7a2f1f24;color:#7a2f1f}.left-nav-section-label{display:none}.welcome{max-width:920px;margin:0 auto;padding:32px 24px 64px;height:100vh;overflow-y:auto;box-sizing:border-box}.welcome-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.welcome-logo{width:48px;height:auto}.welcome-title{margin:0;font-size:26px;color:#1e4974}.welcome-version{font-size:11px;color:#888;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.env-badge{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.env-badge.env-dev{background:#e0e7ff;color:#3730a3}.env-badge.env-staging{background:#fef3c7;color:#92400e}.welcome-actions{display:flex;gap:12px;margin-bottom:24px}.btn-primary{display:inline-flex;align-items:center;gap:6px;background:#0d6efd;color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer}.btn-primary:hover:not(:disabled){background:#0b5ed7;box-shadow:0 1px 4px #0d6efd59}.btn-secondary{display:inline-flex;align-items:center;gap:6px;background:#fff;color:#333;border:1px solid #ccc;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;text-decoration:none}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#adb5bd}.btn-danger{background:#fff;color:#b91c1c;border:1px solid #dc2626;padding:6px 14px;border-radius:4px;font-size:13px;cursor:pointer}.btn-danger:hover{background:#fee2e2}.welcome-section-title{font-size:14px;font-weight:600;color:#555;text-transform:uppercase;letter-spacing:.5px;margin:28px 0 12px}.welcome-error{background:#fee2e2;color:#b91c1c;padding:8px 12px;border-radius:4px;margin-bottom:12px;font-size:13px}.welcome-empty{padding:24px;color:#888;text-align:center;border:1px dashed #ddd;border-radius:6px;font-size:13px}.projects-table{width:100%;border-collapse:collapse;font-size:13px}.projects-table thead th{text-align:left;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:#777;padding:6px 10px;border-bottom:1px solid #ddd}.projects-table thead th.actions{text-align:right}.projects-table tbody td{padding:10px;border-bottom:1px solid #f0f0f0;vertical-align:top}.name-cell .project-name{font-weight:600;cursor:text}.name-cell .project-name:hover{color:#0d6efd}.name-cell .project-id{font-size:11px;color:#999;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:2px}.name-cell .project-stats{font-size:11px;color:#666;margin-top:3px}.name-input{padding:3px 6px;border:1px solid #0d6efd;border-radius:3px;font-size:13px;font-weight:600;width:100%;outline:none}.folder-cell{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#555;display:flex;align-items:center;gap:4px;flex-wrap:wrap}.folder-path{word-break:break-all}.folder-warn{color:#c2410c;display:inline-flex}.last-opened-cell{color:#888;white-space:nowrap}.actions-cell{text-align:right;white-space:nowrap}.actions-row{display:flex;flex-wrap:wrap;justify-content:flex-end;row-gap:4px}.open-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#fff;border:1px solid #ccc;border-radius:4px;font-size:12px;cursor:pointer;margin-left:4px}.open-btn:hover{background:#e9ecef;border-color:#999}.open-btn.pub{color:#1e4974}.open-btn.markup{color:#b8338e}.open-btn.tools{color:#475569;text-decoration:none}.row-action-btn{border:none;background:transparent;padding:2px 4px;color:#999;cursor:pointer;border-radius:3px}.row-action-btn:hover{background:#e9ecef;color:#333}.row-action-btn.danger{color:#b91c1c}.row-action-btn.danger:hover{background:#fee2e2}.tools-intro{color:#555;font-size:13px;margin:0 0 20px;line-height:1.5}.dropzone{border:2px dashed #ccc;border-radius:8px;padding:32px 16px;text-align:center;background:#fafafa;margin-bottom:16px;transition:background .15s,border-color .15s}.dropzone.drag-over{border-color:#0d6efd;background:#eef5ff}.dropzone.has-file{border-style:solid;border-color:#0d6efd;background:#f3f8ff}.dropzone-icon{color:#777;margin-bottom:8px}.dropzone-text{color:#777;font-size:13px;margin-bottom:12px}.dropzone-filename{font-size:14px;font-weight:600;color:#1e4974;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.tool-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}@media(max-width:720px){.tool-cards{grid-template-columns:1fr}}.tool-card{border:1px solid #e5e5e5;border-radius:8px;padding:16px;background:#fff;display:flex;flex-direction:column;gap:12px}.tool-card-primary{margin-top:24px;border:2px solid #1e4974;background:linear-gradient(180deg,#f5f9ff,#fff);box-shadow:0 4px 12px #1e497414}.tool-card-primary .tool-card-title{display:inline-flex;align-items:center;gap:6px;font-size:18px}.tool-card-primary .btn-primary{padding:10px 18px;font-size:14px}.tools-divider{display:flex;align-items:center;gap:12px;margin:28px 0 4px;color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.tools-divider:before,.tools-divider:after{content:"";flex:1;height:1px;background:#e5e7eb}.tools-project-banner{margin-top:16px;padding:10px 14px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;font-size:13px;color:#1e40af;display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.tools-project-label{color:#6b7280;font-weight:500}.tools-project-hint{color:#475569;font-size:12px}.tools-project-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#fff;padding:0 4px;border-radius:3px;font-size:11px}.tool-card-title{margin:0 0 4px;font-size:16px;color:#1e4974}.tool-card-desc{margin:0;font-size:12px;color:#666;line-height:1.5}.tool-card-desc code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f3f3f3;padding:0 4px;border-radius:3px;font-size:11px}.tool-summary{background:#f8f9fa;border-radius:6px;padding:12px;font-size:13px;display:flex;flex-direction:column;gap:4px}.summary-row{display:flex;justify-content:space-between;gap:8px}.summary-label{color:#666}.tool-warning{color:#92400e;font-size:12px;background:#fef3c7;padding:6px 10px;border-radius:4px;margin-top:8px}.tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.tool-actions .btn-primary,.tool-actions .btn-secondary{font-size:13px;padding:6px 12px}.markup-stage-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#2b2b2b;color:#fff;padding:22px 28px;border-radius:10px;z-index:9999;box-shadow:0 6px 28px #00000059;max-width:620px;width:calc(100vw - 80px);display:flex;flex-direction:column;align-items:center;gap:18px}.markup-stage-popup-text{font-size:16px;font-weight:600;line-height:1.5;letter-spacing:.3px;text-align:center;white-space:pre-wrap}.markup-stage-popup-ok{background:#fff;color:#2b2b2b;border:none;padding:8px 36px;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:.5px;min-width:90px}.markup-stage-popup-ok:hover{background:#e5e5e5}.toast-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000d9;color:#fff;padding:16px 28px;border-radius:8px;font-size:18px;font-weight:600;z-index:9999;pointer-events:none;box-shadow:0 4px 24px #0000004d}.help-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9998}.help-modal{background:#fff;border-radius:8px;width:580px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);display:flex;flex-direction:column;box-shadow:0 10px 40px #00000040;overflow:hidden}.help-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #ddd}.help-header h2{margin:0;font-size:18px}.help-close{background:transparent;border:none;font-size:18px;color:#666;padding:2px 8px;cursor:pointer}.help-close:hover{color:#000}.help-body{padding:16px 20px 20px;overflow-y:auto}.help-section{margin-bottom:18px}.help-section:last-child{margin-bottom:0}.help-section h3{margin:0 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:#555}.help-table{width:100%;border-collapse:collapse;font-size:13px}.help-table td{padding:4px 8px;vertical-align:top}.help-table td:first-child{white-space:nowrap;width:200px}.help-note{font-size:12px;color:#777;font-style:italic;padding-top:6px!important}.page-labels-table-wrap{margin-top:8px;max-height:320px;overflow-y:auto;border:1px solid #e5e5e5;border-radius:4px}.page-labels-table{width:100%;border-collapse:collapse;font-size:13px}.page-labels-table thead th{position:sticky;top:0;background:#f5f5f5;font-weight:600;text-align:left;padding:6px 12px;border-bottom:1px solid #ddd}.page-labels-table tbody td{padding:4px 12px;border-bottom:1px solid #f0f0f0;font-variant-numeric:tabular-nums}.page-labels-table tbody tr:last-child td{border-bottom:none}.page-labels-table tbody tr{cursor:pointer}.page-labels-table tbody tr:hover{background:#f8f9fa}.page-label-overridden td{color:#0d6efd}.page-label-override-marker{color:#e6a817;font-weight:700;margin-left:4px}.page-label-edit-input{width:100%;padding:2px 6px;border:1px solid #0d6efd;border-radius:3px;font-size:13px;font-variant-numeric:tabular-nums;outline:none}.help-settings td:nth-child(2){font-weight:600;color:#0d6efd}kbd{display:inline-block;padding:1px 6px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;background:#f4f4f4;border:1px solid #ccc;border-bottom-width:2px;border-radius:4px;color:#333}.issue-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9998}.issue-modal{background:#fff;border-radius:8px;width:480px;max-width:calc(100vw - 40px);display:flex;flex-direction:column;box-shadow:0 10px 40px #00000040;overflow:hidden}.issue-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #ddd}.issue-title{font-size:16px;font-weight:600}.issue-subtitle{font-size:12px;color:#666;margin-top:2px}.issue-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.issue-field{display:flex;flex-direction:column;gap:4px}.issue-field select,.issue-field textarea{padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;font-family:inherit;resize:vertical}.issue-field textarea:focus,.issue-field select:focus{outline:none;border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd26}.issue-actions{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid #ddd}.issue-actions-spacer{flex:1}.btn-issue-delete{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #dc3545;color:#dc3545;border-radius:4px;cursor:pointer;font-size:13px}.btn-issue-delete:hover{background:#dc3545;color:#fff}.btn-issue-cancel{padding:6px 14px;background:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:13px}.btn-issue-cancel:hover{background:#f0f0f0}.issue-actions .btn-save{width:auto;padding:6px 18px}.markup-layout{display:flex;height:100vh;width:100vw;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.markup-sidebar{width:var(--markup-sidebar-width, 320px);min-width:240px;max-width:640px;flex-shrink:0;background:#fff;border-right:1px solid #d0d4d9;display:flex;flex-direction:column;overflow:hidden;position:relative}.markup-sidebar-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize;z-index:5;background:transparent;transition:background .15s}.markup-sidebar-resizer:hover,.markup-sidebar-resizer.is-dragging{background:#b08a5f59}.markup-sidebar .left-nav-brand{padding:12px;border-bottom:1px solid #e5e7eb}.markup-folder-row{padding:8px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #e5e7eb;background:#f8f9fa;font-size:12px;color:#555}.markup-folder-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-rescan{background:transparent;border:1px solid #ccc;border-radius:3px;padding:3px 6px;cursor:pointer;color:#555}.btn-rescan:hover{background:#e9ecef;color:#333}.markup-overall-status{padding:14px 12px;border-bottom:1px solid #e5e7eb;background:linear-gradient(180deg,#fff,#fafbfc)}.overall-numbers{font-size:14px;color:#333}.overall-numbers strong{font-size:22px;color:#b8338e;margin-right:2px}.overall-bar{margin-top:8px;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}.overall-bar-fill{height:100%;background:linear-gradient(90deg,#b8338e,#d75bb5);transition:width .25s ease}.markup-pdf-list{flex:1;overflow-y:auto;padding:4px 0}.markup-pdf-row{border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;transition:background .1s ease}.markup-pdf-row.active{background:#eff6ff;border-left:3px solid #2563eb}.markup-pdf-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer}.markup-pdf-row:not(.active) .markup-pdf-header:hover{background:#f5f7fa}.markup-pdf-name{flex:1;font-size:13px;font-weight:500;color:#222;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.markup-pdf-progress-inline{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:9px;font-size:11px;font-weight:600;flex-shrink:0}.markup-pdf-progress-inline.done{background:#d1fae5;color:#065f46}.markup-pdf-progress-inline.pending{background:#fee2e2;color:#991b1b}.markup-page-list{display:flex;flex-direction:column;padding:0 8px 6px}.markup-page-row{display:flex;align-items:center;gap:8px;padding:5px 8px 5px 12px;margin-left:12px;border-left:2px solid #e5e7eb;font-size:12px;color:#555;cursor:pointer;border-radius:0 3px 3px 0}.markup-page-row:hover{background:#2563eb14}.markup-page-row.page-active{background:#2563eb1f;border-left-color:#2563eb;color:#222;font-weight:500}.markup-page-row .page-status-icon{display:inline-flex;align-items:center}.markup-page-row .status-done-icon{color:#059669}.markup-page-row .status-pending-icon{color:#dc2626}.markup-page-row .page-num{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-width:38px}.markup-page-row .page-cites{color:#777;font-size:11px}.markup-page-row .page-override-pill{background:#fef3c7;color:#92400e;font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px;border:1px solid #fde68a;white-space:nowrap}.markup-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0}.markup-top-toolbar{background:#f3f4f6;border-bottom:1px solid #d1d5db;padding:6px 12px;display:flex;align-items:center;gap:12px;flex-shrink:0}.markup-toolbar-left{flex:0 0 auto;min-width:220px;display:flex;align-items:center;gap:6px}.markup-action-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;font-size:12px;color:#374151}.markup-action-btn:hover{background:#e5e7eb;border-color:#9ca3af}.markup-complete-btn{color:#065f46;border-color:#6ee7b7}.markup-complete-btn:hover{background:#d1fae5}.markup-complete-btn.is-complete{background:#10b981;color:#fff;border-color:#059669}.markup-complete-btn.is-complete:hover{background:#059669}.markup-toggle-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 7px;background:#fff;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;color:#6b7280}.markup-toggle-btn:hover{background:#e5e7eb}.markup-toggle-btn.active{background:#ede9fe;border-color:#a78bfa;color:#6d28d9}.markup-toolbar-divider{display:inline-block;width:1px;height:18px;background:#d1d5db;margin:0 2px}.markup-toolbar-center{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.markup-toolbar-right{flex:0 0 auto;display:flex;align-items:center;gap:6px}.markup-step-label{font-size:13px;font-weight:600;color:#831843}.markup-nav-btn{background:#fff;border:1px solid #f9a8d4;border-radius:4px;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;color:#831843}.markup-nav-btn:hover:not(:disabled){background:#fbcfe8}.markup-nav-btn:disabled{opacity:.4;cursor:not-allowed}.markup-page-indicator{font-size:13px;color:#831843;min-width:150px;text-align:center}.markup-page-indicator strong{font-size:14px;color:#5b0f3a}.markup-flag-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#fff;border:1px solid #f9a8d4;border-radius:4px;cursor:pointer;font-size:12px;color:#831843}.markup-flag-btn:hover{background:#fbcfe8}.markup-flag-btn.has-issue{background:#fbbf24;color:#78350f;border-color:#d97706}.markup-flag-btn.has-issue:hover{background:#f59e0b}.markup-zoom-btn{background:#fff;border:1px solid #f9a8d4;border-radius:4px;padding:4px 6px;cursor:pointer;display:inline-flex;align-items:center;color:#831843}.markup-zoom-btn:hover{background:#fbcfe8}.markup-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#888;font-size:14px;text-align:center;padding:40px}.markup-empty p{max-width:320px;line-height:1.4}
