:root{--olive: #5b6b3a;--olive-dark: #3f4b28;--bg: #f6f7f3;--panel: #ffffff;--line: #e3e5dd;--text: #23261d;--muted: #7c8270;--accent: #6b7f3f}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}.muted{color:var(--muted)}.error{color:#b4453a}.centered{min-height:100vh;display:flex;align-items:center;justify-content:center}.brand{font-weight:700;letter-spacing:.5px;color:var(--olive-dark)}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:2.5rem 3rem;text-align:center;box-shadow:0 1px 3px #0000000a}.login-card h1{font-size:2rem;margin:0}.login-card p{margin:.25rem 0 1.5rem}.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:.5rem 1rem;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--olive);color:#fff;border-color:var(--olive)}.btn.primary:hover{background:var(--olive-dark)}.btn.ghost{border-color:transparent;background:transparent}.btn.icon{padding:.25rem .5rem;font-size:1rem}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:1.5rem;padding:0 1.25rem;height:56px;background:var(--panel);border-bottom:1px solid var(--line)}.topbar .brand{font-size:1.25rem}.menu{display:flex;gap:1rem}.menu a{color:var(--muted);text-decoration:none;padding:.4rem 0;border-bottom:2px solid transparent}.menu a:hover{color:var(--text)}.menu a.active{color:var(--olive-dark);border-bottom-color:var(--olive)}.spacer{flex:1}.topbar .user{font-size:.85rem}.content{flex:1;min-height:0}.landing{max-width:640px;margin:4rem auto;padding:0 1.5rem}.landing h1{color:var(--olive-dark)}.wrr{display:flex;height:calc(100vh - 56px)}.sidebar{width:320px;border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;transition:width .15s ease;overflow:hidden}.sidebar.collapsed{width:44px}.sidebar-head{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-bottom:1px solid var(--line)}.sidebar-title{font-weight:600;font-size:.9rem;color:inherit;text-decoration:none;cursor:pointer}.sidebar-title:hover{color:var(--olive-dark)}.sidebar-body{overflow-y:auto;padding:.5rem 0}.bu-group{margin-bottom:.25rem}.bu-head{width:100%;display:flex;align-items:center;gap:.5rem;background:transparent;border:none;padding:.4rem .75rem;cursor:pointer;font:inherit;font-weight:600;color:var(--olive-dark);text-align:left}.bu-head:hover{background:var(--bg)}.bu-head .caret{width:1em;color:var(--muted)}.bu-head .bu-name{flex:1}.bu-head .count{color:var(--muted);font-weight:400;font-size:.8rem}.wr-list{list-style:none;margin:0;padding:0}.wr-item{width:100%;display:flex;align-items:center;gap:.5rem;background:transparent;border:none;padding:.4rem .75rem .4rem 2rem;cursor:pointer;font:inherit;text-align:left;color:var(--text)}.wr-item:hover{background:var(--bg)}.wr-item.selected{background:#eef0e6;color:var(--olive-dark);font-weight:600}.wr-item .wr-name{flex:1}.wr-item .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.wr-detail{flex:1;min-width:0;overflow:hidden}.empty{display:flex;align-items:center;justify-content:center;height:100%}.panel{padding:1.5rem 2rem;max-width:1000px}.panel-head{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.panel-head h2{margin:.1rem 0 0}.panel-head .wr-tools{margin-left:auto;display:flex;align-items:center;gap:.5rem}.crumb{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px}.wr-review{height:100%;max-width:none;display:flex;flex-direction:column;padding:1rem 1.25rem}.wr-review .panel-head{flex:0 0 auto;margin-bottom:.75rem}.review{flex:1;min-height:0;display:flex;gap:1rem}.review-main{flex:1;min-width:0;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:8px}.review-divider{flex:0 0 6px;cursor:col-resize;background:var(--line);border-radius:3px}.review-divider:hover{background:var(--accent)}.review-side{flex:none;min-width:280px;overflow-y:auto}.pdf-host{display:flex;flex-direction:column;align-items:center;gap:12px;padding:12px}.pdf-page{position:relative;width:100%;margin:0 auto;box-shadow:0 1px 4px #00000026}.pdf-page canvas{display:block;width:100%;height:auto}.pdf-highlight{position:absolute;background:#ffd50059;border:1px solid rgba(212,160,0,.85);border-radius:2px;pointer-events:none}.version-select{font:inherit;font-size:.8rem;padding:.2rem .4rem;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text)}.version-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .75rem;padding:.6rem .9rem;border:1px solid #e6d6a8;border-left:4px solid #d4a000;border-radius:8px;background:#fbf4e0;color:#8a6d1f;font-size:.9rem}.pdf-host.cite-mode .pdf-page{cursor:crosshair}.pdf-cite-rect{position:absolute;background:#5b6b3a33;border:1px dashed var(--olive);border-radius:2px;pointer-events:none}.issues-title{margin:0 0 .5rem;font-size:1rem;display:flex;align-items:center;gap:.5rem}.issues-title .count{color:var(--muted);font-weight:400}.add-issue-btn{margin-left:auto;font-size:.8rem;padding:.2rem .5rem;color:var(--olive)}.add-issue{border-color:var(--olive)}.add-issue .issue-edit{margin:.6rem}.cite-hint{margin:0;font-size:.78rem;color:var(--muted)}.cite-hint.set{color:var(--olive-dark)}.generate-issues{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:.75rem 0}.small{font-size:.8rem}.wr-home{padding:1.5rem}.wr-home h2{margin:0 0 .5rem}.home-cards{margin-top:1.25rem;display:flex;flex-wrap:wrap;gap:1rem}.home-card{display:block;border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem;background:var(--panel);text-decoration:none;color:var(--text);max-width:320px}.home-card:hover{border-color:var(--accent)}.home-card h3{margin:0 0 .25rem;font-size:1rem}.home-card p{margin:0}.wr-subnav{display:flex;gap:.5rem;border-bottom:1px solid var(--line);padding:0 .25rem;margin-bottom:.5rem}.wr-tab{padding:.4rem .75rem;font-size:.9rem;border-bottom:2px solid transparent;color:var(--muted)}.wr-tab.active{color:var(--olive-dark);border-bottom-color:var(--olive);font-weight:600}.admin-prompts{display:flex;gap:1rem;height:100%}.prompt-list{width:280px;flex:0 0 auto;border-right:1px solid var(--line);padding-right:1rem;overflow-y:auto}.prompt-list-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.prompt-list-head h2{font-size:1.1rem;margin:0}.prompt-list ul{list-style:none;margin:.75rem 0 0;padding:0}.prompt-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;text-align:left;padding:.5rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer;font:inherit;margin-bottom:.4rem}.prompt-item.selected{border-color:var(--olive)}.prompt-name{font-weight:600}.prompt-editor-pane{flex:1 1 auto;min-width:0}.prompt-editor{display:flex;flex-direction:column;gap:.6rem;height:100%}.prompt-name-input{font:inherit;font-size:1rem;padding:.5rem;border:1px solid var(--line);border-radius:6px}.prompt-body-input{font:inherit;font-size:.9rem;line-height:1.5;padding:.6rem;border:1px solid var(--line);border-radius:6px;min-height:320px;flex:1 1 auto;resize:vertical}.prompt-active{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--muted)}.issue{border:1px solid var(--line);border-radius:8px;margin-bottom:.5rem;background:var(--panel)}.issue-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;cursor:pointer}.issue-head:hover{background:var(--bg)}.issue-head .caret{color:var(--muted);width:1em}.issue-head .issue-title{flex:1;font-weight:500;font-size:.9rem}.sev-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}.issue.sev-high .sev-dot{background:#c0432f}.issue.sev-medium .sev-dot{background:#d49a1f}.issue.sev-low .sev-dot{background:#6b9a4f}.cite-icon{border:none;background:transparent;cursor:pointer;font-size:1rem;color:var(--accent);padding:0 .25rem}.cite-icon:hover{color:var(--olive-dark)}.issue-status{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.issue-status.st-resolved{color:#2f6b2f}.issue-status.st-dismissed{color:#b4453a}.resolve-btn{border:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:.72rem;padding:.1rem .4rem;border-radius:999px;cursor:pointer;white-space:nowrap}.resolve-btn:hover{border-color:var(--accent);color:var(--olive-dark)}.issue.resolved{opacity:.7}.resolved-head{margin:1.1rem 0 .5rem;padding-top:.75rem;border-top:1px solid var(--line);font-size:.8rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}.resolved-head .count{font-weight:400}.issue-body{padding:.25rem .7rem .7rem;border-top:1px solid var(--line)}.issue-desc{margin:.5rem 0;font-size:.85rem}.cite-quote{margin:.5rem 0;padding:.4rem .6rem;border-left:3px solid var(--accent);background:var(--bg);font-size:.8rem}.comments{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0}.comment{font-size:.82rem}.comment .c-author{font-weight:600;margin-right:.4rem;color:var(--olive-dark)}.small{font-size:.78rem}.add-comment{display:flex;flex-direction:column;gap:.4rem}.add-comment textarea{width:100%;resize:vertical;font:inherit;font-size:.85rem;padding:.4rem;border:1px solid var(--line);border-radius:6px}.add-comment .btn{align-self:flex-end}.issue-edit{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0}.issue-edit input,.issue-edit textarea,.issue-edit select{font:inherit;font-size:.85rem;padding:.4rem;border:1px solid var(--line);border-radius:6px;width:100%}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.admin-actions{display:flex;gap:1rem;margin-top:.6rem;padding-top:.5rem;border-top:1px dashed var(--line)}.link-btn{border:none;background:transparent;cursor:pointer;font:inherit;font-size:.8rem;color:var(--muted);padding:0}.link-btn:hover{color:var(--olive-dark);text-decoration:underline}.link-btn.danger:hover{color:#b4453a}.upload-box{border:2px dashed var(--line);border-radius:12px;padding:2rem;text-align:center;background:var(--panel)}.upload-box input{display:block;margin:1rem auto}.dropzone{cursor:pointer;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--accent)}.dropzone.dragging{border-color:var(--olive);background:#eef2e6}.dropzone-hint{font-size:.85rem;margin:.4rem 0 0}.upload-filename{margin:.75rem 0 0;font-weight:600;color:var(--text)}.upload-actions{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem}.doc-view{display:flex;flex-direction:column;gap:.75rem}.doc-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.doc-bar .spacer{flex:1}.status-badge{font-size:.75rem;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--bg)}.status-badge.s-ready{color:#2f6b2f;border-color:#b9d6b0;background:#eef6ea}.status-badge.s-failed{color:#b4453a;border-color:#e3b6b0;background:#fbeeec}.status-badge.s-extracting,.status-badge.s-pending{color:#8a6d1f;border-color:#e6d6a8;background:#fbf4e0}.doc-frame{width:100%;height:70vh;border:1px solid var(--line);border-radius:8px;background:#fff}.md-pre{max-height:40vh;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem;font-size:.8rem;white-space:pre-wrap;word-break:break-word}
