:root{font-family:"Microsoft YaHei",Arial,sans-serif;color:#13283d;background:#f3f7fa}*{box-sizing:border-box}body{margin:0}.shell{max-width:1180px;margin:0 auto;padding:56px 28px}.login{max-width:440px;margin:8vh auto;background:#fff;border:1px solid #dce7ef;padding:42px;border-radius:16px;box-shadow:0 16px 50px #15355712}h1{margin:6px 0 10px;color:#102a43;font-size:28px;letter-spacing:.04em}h2{font-size:18px;margin:0 0 16px}.eyebrow{font-weight:700;color:#087ea4;letter-spacing:.09em;margin:0;font-size:12px}form{display:grid;gap:16px;margin:30px 0}label{font-size:14px;font-weight:700;display:grid;gap:7px}input,select{padding:12px;border:1px solid #b9cbd9;border-radius:8px;font:inherit;background:#fff}button{border:0;border-radius:8px;background:#087ea4;color:#fff;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer}.tiny{padding:6px 9px;font-size:12px}.secondary{background:#e6eff4;color:#17324d;margin-left:16px}small,#loginError,#contractError{color:#60758a;font-size:12px}#loginError,#contractError{margin:0;color:#b42318}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}header>div:last-child{display:flex;align-items:center}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.card,.panel{background:#fff;border:1px solid #dce7ef;border-radius:12px;padding:22px}.card strong{display:block;color:#087ea4;font-size:26px;margin-top:8px}.panel{margin-top:16px}.panel span{color:#60758a;font-weight:400;font-size:12px}.audit,.contract-table,.risk-table{width:100%;border-collapse:collapse;font-size:13px}.audit th,.audit td,.contract-table th,.contract-table td,.risk-table th,.risk-table td{padding:10px;text-align:left;border-bottom:1px solid #e7edf2}.audit th,.contract-table th,.risk-table th{color:#60758a}.contract-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}.contract-form .wide{grid-column:1/-1}.contract-form button{width:max-content}.search-form{grid-template-columns:2fr repeat(4,1fr) auto auto;gap:10px;margin:0}.search-form input,.search-form select{min-width:0}.search-form .secondary{margin-left:0}.risk-level{display:inline-block;min-width:24px;padding:2px 7px;border-radius:999px;text-align:center;font-weight:700}.risk-高{background:#fee4e2;color:#b42318}.risk-中{background:#fff1d6;color:#b54708}.risk-低{background:#eaf7ee;color:#067647}@media(max-width:700px){.shell{padding:24px 16px}.cards,.contract-form,.search-form{grid-template-columns:1fr}header{align-items:flex-start;gap:16px}.login{padding:28px}}
textarea{width:100%;padding:12px;border:1px solid #b9cbd9;border-radius:8px;font:inherit;line-height:1.7;resize:vertical}button:disabled{opacity:.5;cursor:wait}.source-segment{margin:18px 0;padding:16px;border:1px solid #dce7ef;border-radius:8px}.source-segment h4{margin:0 0 10px}blockquote{white-space:pre-wrap;margin:12px 0;padding:12px;border-left:3px solid #087ea4;background:#f3f7fa}details{margin:16px 0}summary{cursor:pointer}#workspaceStatus{color:#b42318;white-space:pre-wrap}.panel{overflow-wrap:anywhere}#contractList{overflow-x:auto}
/* Contract text and connected margin annotations */
.review-dialog-open{overflow:hidden}
.review-dialog{--review-ink:#17324d;--review-muted:#61758a;--review-line:#dce5ed;--review-paper:#fff;--review-mark:#b95222;width:min(1320px,96vw);height:94vh;max-width:none;max-height:94vh;padding:0;border:1px solid var(--review-line);border-radius:12px;color:var(--review-ink);background:#edf2f6;overflow:hidden}
.review-dialog::backdrop{background:#142d44a3}
.review-dialog[open]{display:flex;flex-direction:column}
.annotation-header{flex-shrink:0;display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin:0;padding:20px 28px;background:#fff;border-bottom:1px solid var(--review-line)}
.annotation-header h2{margin:3px 0 5px;font-size:21px;letter-spacing:0}.annotation-header p{margin:0;font-size:12px;color:var(--review-muted)}
.annotation-kicker{color:#087ea4!important;font:700 12px "Microsoft YaHei",sans-serif;letter-spacing:.08em}
.annotation-close{margin:0;padding:9px 18px;flex-shrink:0}
.annotation-toolbar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:11px 28px;background:#f8fafc;border-bottom:1px solid var(--review-line);font-size:12px;color:var(--review-muted)}
.annotation-navigation{display:flex;gap:6px;flex-shrink:0}.annotation-jump{background:transparent;border:1px solid #c9d8e2;color:#087ea4;padding:5px 9px;font-size:12px;font-weight:400;border-radius:5px}
.annotation-toolbar span:first-child{font-weight:700;color:var(--review-ink)}
.annotation-notice{flex-shrink:0;padding:10px 28px;background:#fff5e5;color:#85430d;border-bottom:1px solid #f4ddb3;font-size:13px;line-height:1.6}
.annotation-body{overflow:auto;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;padding:26px;align-items:start;min-height:0;flex:1}
.annotation-document-column{min-width:0}
.contract-paper{padding:34px 40px;background:var(--review-paper);border:1px solid var(--review-line);box-shadow:0 3px 12px #20384c08}
.contract-paper-heading{text-align:center;margin:0 0 26px;padding-bottom:20px;border-bottom:1px solid #e7edf2}.contract-paper-heading h3{margin:0 0 12px;font:700 22px "SimSun","Songti SC",serif;line-height:1.5}.contract-paper-heading p{margin:0;color:var(--review-muted);font:12px "Microsoft YaHei",sans-serif}
.review-paragraph{padding:13px 0 13px 13px;border-left:3px solid transparent;margin:0 0 8px;scroll-margin-top:24px}.review-paragraph.has-annotations{border-left-color:#edb398}
.paragraph-anchor{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--review-muted);font:11px "Microsoft YaHei",sans-serif;line-height:1.5}.paragraph-anchor span{color:#a55326}
.review-paragraph p{margin:8px 0 0;font:16px/2 "SimSun","Songti SC","Microsoft YaHei",serif;white-space:pre-wrap;overflow-wrap:anywhere}
.review-mark{display:inline;padding:0;border:0;border-radius:0;color:inherit;background:#fff0e3;font:inherit;font-weight:inherit;line-height:inherit;white-space:pre-wrap;text-decoration:underline;text-decoration-color:var(--review-mark);text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}
.review-mark:hover,.review-mark.is-active{background:#ffd9b6;color:#82360f}
.review-mark:focus-visible,.annotation-locate:focus-visible,.annotation-close:focus-visible{outline:2px solid #087ea4;outline-offset:3px}
.annotation-sidebar{position:sticky;top:0;min-width:0;max-height:calc(94vh - 180px);display:flex;flex-direction:column}.annotation-sidebar>h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:15px}.annotation-sidebar>h3 span{background:#dde7ef;padding:3px 9px;border-radius:5px;font-size:12px}
.annotation-notes{overflow:auto;min-height:0;padding:0 2px 8px}
.annotation-note{background:#fff;border:1px solid var(--review-line);border-top:3px solid #c56c3c;border-radius:7px;padding:15px;margin-bottom:14px;scroll-margin-top:12px;outline:none}
.annotation-note.is-active{border-color:#c56c3c;box-shadow:0 0 0 2px #c56c3c22}
.annotation-locate{width:100%;display:flex;align-items:center;gap:9px;padding:0;background:none;color:var(--review-ink);text-align:left;border-radius:3px;font-size:14px}
.annotation-number{background:#fbebde;color:#a35020;min-width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;font-size:12px}
.annotation-arrow{margin-left:auto;color:#7c8c9a}.annotation-anchor{color:var(--review-muted);font-size:11px;margin:11px 0}
.annotation-quote{color:#994a1d;font-size:13px;padding:8px 10px;background:#fff7ef;overflow-wrap:anywhere}
.annotation-note h4{margin:14px 0 7px;font-size:12px}.annotation-note p{line-height:1.7;font-size:13px}
.annotation-law{margin:12px 0;font-size:12px}.annotation-law summary{color:#087ea4;line-height:1.6}.annotation-law blockquote{font-size:12px;padding:9px;margin:8px 0;border-left-width:2px}
.annotation-law details{margin:10px 0}.annotation-law a{color:#087ea4}
.annotation-analysis,.annotation-human{background:#fff;border:1px solid var(--review-line);padding:24px 30px;margin-top:20px}
.annotation-analysis h3,.annotation-human h3{margin:4px 0 13px;font-size:18px}.annotation-analysis p{font-size:14px;line-height:1.9}.analysis-limit{color:var(--review-muted)}
.annotation-analysis details{font-size:12px;line-height:1.8;margin:14px 0 0}
.annotation-human blockquote{font-size:13px;line-height:1.8}.annotation-human-form{margin:20px 0 0;grid-template-columns:150px 1fr;align-items:start}.annotation-human-form>label:nth-child(2){grid-row:span 2}.annotation-human-form button{font-size:13px}.annotation-save-status{grid-column:1/-1;margin:0;color:#087ea4;font-size:13px}
.annotation-empty{font-size:14px;line-height:1.8;color:var(--review-muted);padding:16px 0}
.view-annotations{margin-top:12px}
@media(max-width:900px){.annotation-body{grid-template-columns:minmax(0,1fr) 280px;gap:14px;padding:18px}.contract-paper{padding:24px}.annotation-header{padding:18px}.annotation-toolbar{padding:10px 18px}.annotation-notice{padding:9px 18px}}
@media(max-width:700px){.review-dialog{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0}.annotation-header{padding:14px}.annotation-header h2{font-size:18px}.annotation-toolbar{flex-direction:column;gap:5px;padding:10px 14px}.annotation-body{grid-template-columns:1fr;padding:12px;gap:18px}.annotation-document-column{display:contents}.contract-paper{grid-row:1;padding:20px 16px}.annotation-sidebar{position:static;max-height:none;grid-row:2}.annotation-notes{overflow:visible}.annotation-analysis{grid-row:3}.annotation-human{grid-row:4}.annotation-analysis,.annotation-human{margin:0;padding:20px}.annotation-human-form{grid-template-columns:1fr}.annotation-human-form>label:nth-child(2){grid-row:auto}.annotation-close{padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.review-dialog *{scroll-behavior:auto}}
/* Original Word/PDF pages: quiet document chrome, real page geometry. */
.review-dialog{width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0;background:#e5e7e9}
.review-dialog [hidden]{display:none!important}
.annotation-header{padding:12px 22px;align-items:center}.annotation-header h2{font-size:18px;margin:2px 0}.annotation-header p{font-size:11px}
.annotation-toolbar{min-height:48px;padding:7px 22px;justify-content:flex-start;gap:20px}.annotation-navigation{margin-left:auto}
.original-page-status{padding:7px 22px;font-size:12px;line-height:1.6;color:var(--review-muted);background:#f5f6f7;border-bottom:1px solid #d1d8df}
.page-controls{display:flex;gap:14px}.page-controls label{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:400}.page-controls select{padding:4px 6px;min-height:30px;font-size:12px;border-radius:3px}
.annotation-body.original-view{display:block;padding:14px 20px;overflow:auto}.original-view .annotation-document-column{width:max-content;min-width:100%}
.original-page-host{--page-width:794px;width:max-content;margin:0 auto}.original-page-section{scroll-margin-top:12px;margin:0 0 28px}
.original-page-caption{font-size:11px;color:#5b6671;margin:0 0 7px}.original-page-row{position:relative;display:grid;grid-template-columns:var(--page-width) 310px;gap:30px;align-items:start}
.original-page-paper{position:relative;width:var(--page-width);background:white;border:1px solid #c3c5c7;box-shadow:0 2px 6px #263a4617;line-height:0}
.original-page-paper img{display:block;width:100%;height:auto;user-select:none}.original-page-marks{position:absolute;inset:1px;pointer-events:none}
.page-mark{position:absolute;display:block;pointer-events:auto;min-width:3px;min-height:3px;padding:0;border:0;border-bottom:2px solid #c6672e;background:#df84471a;text-decoration:none;border-radius:0;color:#994319;z-index:2}
.page-mark.vertical{border-bottom:0;border-right:2px solid #c6672e}.page-mark:hover,.page-mark.is-active{background:#df844748;outline:1px solid #c6672e}
.page-mark-number{position:absolute;left:-17px;top:0;min-width:15px;height:15px;background:#fff3e9;border:1px solid #c6672e;border-radius:2px;font:10px/13px Arial,sans-serif;color:#994319;pointer-events:none}
.page-note-rail{position:relative;z-index:3;max-height:calc(var(--page-width)*var(--page-ratio));overflow:auto;padding:0 4px 4px 0;scrollbar-width:thin}
.page-note-rail .annotation-note{border-radius:3px;border-top-width:2px;padding:12px;margin-bottom:14px;box-shadow:0 1px 3px #17324d08}
.page-note-rail .annotation-note h4{margin-top:10px}.page-note-rail .annotation-note p{margin:8px 0;font-size:12px}.page-note-rail .annotation-law{margin:9px 0}.page-note-rail .annotation-number{height:22px;min-width:22px}
.page-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:2}.page-connectors line{stroke:#c6672e;stroke-width:1;opacity:.6;vector-effect:non-scaling-stroke}.page-connectors line.is-active{stroke:#a54412;stroke-width:2;opacity:1}
.page-no-notes{padding:12px;font-size:12px;color:#6c747c}.original-view .annotation-analysis,.original-view .annotation-human{max-width:1134px;margin:18px auto 0}
.unlocated-notes{max-width:1134px;background:#fff8ef;border:1px solid #e0c4a5;padding:18px;margin-bottom:24px;font-size:13px}.unlocated-notes .annotation-note{max-width:650px}
.stacked-pages .original-page-row{grid-template-columns:var(--page-width);gap:12px}.stacked-pages .page-note-rail{max-height:none;overflow:visible;width:var(--page-width)}.stacked-pages .page-connectors{display:none}.page-image-error{min-height:180px;line-height:1.8;color:#a54412}
@media(max-width:899px){.annotation-body.original-view{padding:12px}.original-view .annotation-analysis,.original-view .annotation-human{width:min(100%,calc(100vw - 40px))}.annotation-toolbar{gap:8px}.annotation-navigation{flex-wrap:wrap;margin-left:0}.annotation-header{padding:10px 14px}.original-page-status{padding:6px 14px}}
