:root{
 --canvas:#f6f8fb;--surface:#fff;--surface-soft:#f9fafc;--text:#1b2a3e;--text-2:#516175;--muted:#8591a0;--line:#e7ebf0;--line-2:#d7dfe9;
 --accent:#235f85;--accent-2:#347da5;--accent-soft:#eaf4f8;--nav:#12283d;--nav-light:#1b354d;--nav-text:#c1d0df;
 --green:#2b806e;--green-bg:#e8f6ef;--amber:#b27a2b;--amber-bg:#fff5df;--red:#b24d53;--red-bg:#fff0ee;
 --shadow:0 14px 40px rgba(17,39,60,.055);--shadow-hover:0 22px 60px rgba(17,39,60,.1);--radius:17px;
 --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Noto Sans CJK SC","Microsoft YaHei",Arial,sans-serif;
}
:root[data-theme="dark"]{
 --canvas:#0e1722;--surface:#162332;--surface-soft:#1c2b3d;--text:#e7eef5;--text-2:#b9c7d4;--muted:#8d9cab;--line:#29394b;--line-2:#34485d;
 --accent:#82c4e6;--accent-2:#9fd5ed;--accent-soft:#1d3648;--nav:#0a111b;--nav-light:#19283b;--nav-text:#c1d0df;
 --green:#79c9ad;--green-bg:#16372e;--amber:#efc276;--amber-bg:#453420;--red:#ef9a9e;--red-bg:#45292c;--shadow:0 14px 40px rgba(0,0,0,.14);--shadow-hover:0 22px 60px rgba(0,0,0,.26);
}
*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--canvas);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.55;cursor:not-allowed}p{margin:0}h1,h2,h3,h4{margin:0;line-height:1.32;letter-spacing:-.025em}svg{flex:none}::selection{background:#bfe5f6;color:#153951}:focus-visible{outline:3px solid rgba(73,149,194,.52);outline-offset:3px}
.hidden{display:none!important}.muted{color:var(--muted)}.text-secondary{color:var(--text-2)}.tiny{font-size:11px}.small{font-size:12px}.nowrap{white-space:nowrap}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mono{font-variant-numeric:tabular-nums}.flex{display:flex}.center{align-items:center}.between{justify-content:space-between}.gap-6{gap:6px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.wrap{flex-wrap:wrap}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mb-10{margin-bottom:10px}.fw-650{font-weight:650}.kbd{display:inline-flex;align-items:center;border:1px solid var(--line-2);background:var(--surface-soft);padding:1px 6px;border-radius:6px;font-size:11px;color:var(--muted)}
#app{min-height:100vh}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;display:flex;flex-direction:column;background:linear-gradient(168deg,var(--nav),#122a40 64%,#16344b);color:var(--nav-text);z-index:20;box-shadow:7px 0 38px rgba(16,38,54,.07)}.sidebar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:radial-gradient(ellipse at 15% 105%,rgba(75,146,171,.19),transparent 76%);pointer-events:none}.brand{display:flex;align-items:center;gap:11px;padding:28px 20px 22px;color:white;position:relative}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(224,239,246,.32);border-radius:12px;background:linear-gradient(135deg,#315a74,#1e3e59);color:#e6f5ff;font-size:21px;font-weight:700;box-shadow:inset 0 1px 0 rgba(255,255,255,.13)}.brand-word{font-size:17px;letter-spacing:.06em;font-weight:720}.brand-caption{font-size:8px;letter-spacing:.16em;color:#9eb5c8;margin-top:1px}.workspace-label{font-size:10px;color:#8099b1;letter-spacing:.13em;text-transform:uppercase;font-weight:700;padding:15px 24px 11px}.nav-container{display:flex;flex-direction:column;gap:3px;padding:0 11px}.nav-link{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 13px;border:1px solid transparent;background:none;color:var(--nav-text);border-radius:10px;transition:background .18s,color .18s;white-space:nowrap}.nav-link svg{opacity:.8}.nav-link:hover{color:white;background:rgba(255,255,255,.065)}.nav-link.active{color:white;background:linear-gradient(100deg,rgba(130,192,221,.18),rgba(130,192,221,.08));border-color:rgba(179,219,236,.11);font-weight:650}.nav-link.active::after{content:"";height:6px;width:6px;border-radius:50%;background:#85c5e1;margin-left:auto}.nav-section{height:1px;background:rgba(255,255,255,.09);margin:13px 14px}.sidebar-bottom{margin-top:auto;padding:12px 13px 22px;z-index:1}.sidebar-status{background:rgba(255,255,255,.045);padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:12px}.sidebar-status .status-dot{background:#75d1b2}.sidebar-foot{margin-top:13px;display:flex;align-items:center;justify-content:space-between;padding:4px 3px;color:#7f9bb1;font-size:10px}
.main-area{flex:1;min-width:0;margin-left:238px;min-height:100vh}.topbar{height:79px;background:color-mix(in srgb,var(--surface) 93%,transparent);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 39px;justify-content:space-between;position:sticky;top:0;z-index:10;backdrop-filter:blur(22px);gap:20px}.crumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;white-space:nowrap}.crumb strong{color:var(--text);font-weight:650;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.top-search{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface-soft);height:36px;border-radius:10px;padding:0 10px;color:var(--muted);min-width:220px;transition:border .16s}.top-search:focus-within{border-color:var(--accent-2)}.top-search input{border:0;outline:none;background:transparent;width:155px;font-size:12px;color:var(--text)}.top-search input::placeholder{color:var(--muted)}.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text-2);height:36px;width:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;transition:all .16s}.icon-btn:hover{border-color:var(--line-2);background:var(--surface-soft);color:var(--text)}.avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#e7eff5;color:#205a7a;font-weight:700;cursor:pointer}.avatar:hover{outline:2px solid #c7dce8}
.content{padding:30px 38px 80px;max-width:1640px;margin:auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;color:var(--accent);font-weight:750;letter-spacing:.15em;text-transform:uppercase;margin-bottom:9px}.page-heading h1{font-size:27px;font-weight:730;letter-spacing:-.05em}.page-subtitle{margin-top:8px;color:var(--muted);font-size:13px}.page-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{border:1px solid var(--line-2);background:var(--surface);display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 15px;border-radius:10px;white-space:nowrap;font-size:12px;font-weight:650;min-height:38px;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;color:var(--text-2)}.btn:hover{border-color:#9ec1d3;background:var(--surface-soft);box-shadow:0 4px 14px rgba(15,49,73,.045)}.btn:active{transform:scale(.985)}.btn.primary{background:#204f70;border-color:#204f70;color:white;box-shadow:0 6px 18px rgba(20,66,95,.14)}.btn.primary:hover{background:#2a6489;box-shadow:0 9px 20px rgba(20,66,95,.2)}.btn.secondary{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.btn.secondary:hover{border-color:#afcfdf}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-soft)}.btn.danger{color:var(--red);border-color:var(--red);background:transparent}.btn.small{padding:7px 11px;min-height:31px}.btn.wide{width:100%}.btn.large{padding:13px 20px;min-height:46px;font-size:13px}.btn:disabled{box-shadow:none}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:6px;background:var(--surface-soft);color:var(--text-2);font-size:10px;font-weight:650;white-space:nowrap;border:1px solid var(--line)}.badge.high{color:var(--red);background:var(--red-bg);border-color:transparent}.badge.medium{color:var(--amber);background:var(--amber-bg);border-color:transparent}.badge.low{color:var(--green);background:var(--green-bg);border-color:transparent}.badge.ai{color:var(--accent);background:var(--accent-soft);border-color:transparent}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:var(--green)}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:21px 24px 15px}.panel-head h2{font-size:15px;font-weight:700}.panel-body{padding:0 24px 23px}.section-title{font-size:15px;font-weight:720}.section-kicker{font-size:11px;color:var(--muted);margin-top:3px}.link-inline{color:var(--accent);font-weight:600;cursor:pointer;font-size:12px;border:0;background:none}.link-inline:hover{text-decoration:underline}
.welcome-banner{position:relative;overflow:hidden;background:linear-gradient(114deg,#173b57 4%,#235370 62%,#2c6580 100%);border-radius:19px;min-height:220px;color:white;display:flex;justify-content:space-between;align-items:center;padding:35px 40px;margin-bottom:23px;box-shadow:0 18px 42px rgba(26,67,94,.13)}.welcome-banner:before{content:"";position:absolute;top:-170px;right:-60px;width:440px;height:440px;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 72px rgba(255,255,255,.035),0 0 0 145px rgba(255,255,255,.025)}.welcome-banner:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 74% 30%,rgba(112,197,230,.18),transparent 35%);pointer-events:none}.banner-copy{max-width:570px;z-index:1}.banner-eyebrow{font-size:10px;letter-spacing:.2em;color:#bed9eb;font-weight:650}.banner-copy h2{font-size:27px;line-height:1.45;margin-top:12px;font-weight:600;letter-spacing:-.04em}.banner-copy p{font-size:12px;line-height:1.9;color:#c6dbe9;margin-top:11px;max-width:520px}.banner-actions{margin-top:22px;display:flex;gap:10px}.banner-actions .btn{background:white;color:#244f6d;border:0}.banner-actions .btn:hover{background:#eaf2f6}.banner-actions .btn.banner-outline{background:transparent;color:white;border:1px solid rgba(255,255,255,.3)}.banner-actions .btn.banner-outline:hover{background:rgba(255,255,255,.1)}.banner-orbit{position:relative;z-index:1;width:135px;height:135px;border:1px solid rgba(219,237,244,.36);border-radius:50%;display:grid;place-items:center;margin-right:85px;flex:none}.banner-orbit::after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(219,237,244,.16);border-radius:50%}.banner-orbit svg{opacity:.9}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.metric-card{padding:22px 23px;position:relative;overflow:hidden;min-height:133px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:var(--text-2);font-size:12px}.metric-icon{height:30px;width:30px;border-radius:9px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}.metric-value{font-size:31px;font-weight:745;letter-spacing:-.065em;margin-top:11px;line-height:1.2}.metric-foot{font-size:10px;color:var(--muted);margin-top:8px}.metric-foot strong{font-weight:700;color:var(--accent)}.metric-card.alert .metric-icon{background:var(--red-bg);color:var(--red)}.metric-card.done .metric-icon{background:var(--green-bg);color:var(--green)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:19px;align-items:start}.doc-row{display:grid;grid-template-columns:minmax(0,1fr) 93px 72px 86px;align-items:center;gap:12px;padding:14px 22px;border-top:1px solid var(--line);cursor:pointer;transition:background .16s}.doc-row:hover{background:var(--surface-soft)}.doc-identity{display:flex;align-items:center;gap:12px;min-width:0}.file-icon{display:grid;place-items:center;width:37px;height:41px;border-radius:10px;background:var(--accent-soft);color:var(--accent);flex:none}.file-icon.labor{background:#f4effb;color:#8173b8}.file-icon.iou{background:#fff4e8;color:#ac7a3c}.file-icon.other{background:#edf0f4;color:#697a8c}.doc-title{font-weight:700;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-sub{font-size:10px;color:var(--muted);margin-top:4px}.risk-number{font-weight:725;font-size:13px}.side-card{padding:22px}.side-card h2{font-size:15px;margin-bottom:5px}.mini-separator{height:1px;background:var(--line);margin:17px 0}.bar-chart{height:130px;display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:20px}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--muted);font-size:10px}.bar-body{width:min(30px,100%);border-radius:6px 6px 3px 3px;background:linear-gradient(0deg,#d9ebf3,#6cb0d4);min-height:5px;transition:height .25s}.bar-col:last-child .bar-body{background:linear-gradient(0deg,#aac8d8,#2c7095)}.focus-row{padding:13px 0;border-bottom:1px solid var(--line);display:flex;align-items:start;gap:11px;cursor:pointer}.focus-row:last-child{border-bottom:0}.focus-row:hover .focus-name{color:var(--accent)}.focus-name{font-size:12px;font-weight:650}.focus-info{color:var(--muted);font-size:10px;margin-top:4px}.rule-hint{display:flex;align-items:start;gap:10px;padding:13px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 12%,transparent);border-radius:11px;color:var(--accent);font-size:11px;line-height:1.75;margin-top:15px}
.filters{display:flex;align-items:center;gap:9px;margin-bottom:18px;flex-wrap:wrap}.input,.select,.textarea{background:var(--surface);border:1px solid var(--line-2);color:var(--text);border-radius:10px;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px rgba(87,159,198,.12)}.input{padding:11px 13px;height:40px}.input::placeholder,.textarea::placeholder{color:var(--muted)}.select{padding:10px 12px;height:40px;cursor:pointer;max-width:250px}.textarea{padding:12px 13px;resize:vertical;line-height:1.75;min-height:100px}.field-label{font-size:11px;color:var(--text-2);font-weight:650;display:block;margin-bottom:8px}.field-group{margin-bottom:16px}.field-group .input,.field-group .select,.field-group .textarea{width:100%}.search-control{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:0 11px;min-width:230px;flex:1;max-width:390px}.search-control:focus-within{border-color:var(--accent)}.search-control input{height:40px;border:0;background:none;outline:none;flex:1;min-width:0;color:var(--text);font-size:12px}.pill-filter{border:1px solid var(--line);background:var(--surface);padding:9px 13px;border-radius:10px;color:var(--text-2);font-size:12px}.pill-filter:hover,.pill-filter.active{color:var(--accent);background:var(--accent-soft);border-color:transparent}.docs-table{overflow:hidden}.docs-header{display:grid;grid-template-columns:minmax(0,1fr) 106px 82px 90px;align-items:center;gap:12px;padding:12px 22px;font-size:10px;color:var(--muted);background:var(--surface-soft);font-weight:650}.docs-list .doc-row{padding:18px 22px}.docs-list .doc-row:hover{box-shadow:inset 3px 0 var(--accent)}.docs-list .doc-row:last-child{border-radius:0 0 var(--radius) var(--radius)}.empty-state{padding:64px 20px;text-align:center;color:var(--muted)}.empty-state svg{color:var(--accent);opacity:.66}.empty-state h3{color:var(--text);font-size:16px;margin:15px 0 6px}.empty-state p{font-size:12px;max-width:360px;margin:0 auto 17px;line-height:1.8}
.workspace-head{margin-bottom:18px}.back-link{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);font-size:11px;margin-bottom:13px;padding:0}.back-link:hover{color:var(--accent)}.workspace-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.workspace-title-row{display:flex;align-items:center;gap:11px}.workspace-title-row h1{font-size:22px;font-weight:730;line-height:1.35;word-break:break-all}.workspace-metadata{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;font-size:10px;color:var(--muted)}.dot-separator::before{content:"·";margin-right:10px;color:var(--line-2)}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:13px 17px;border:1px solid var(--line);border-radius:13px;background:var(--surface);margin-bottom:16px}.toolbar-group{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.toolbar-text{font-size:11px;color:var(--muted);font-weight:600}.toolbar-select{height:32px;border-radius:8px;padding:4px 9px;font-size:11px;border:1px solid var(--line);background:var(--surface-soft);color:var(--text-2)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(355px,1fr);align-items:stretch;gap:16px;min-height:650px;height:calc(100vh - 274px);max-height:1050px}.workspace-column{background:var(--surface);border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-shadow:var(--shadow)}.column-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:17px 19px;height:61px}.column-title{font-size:13px;font-weight:735;display:flex;align-items:center;gap:8px}.column-sub{font-size:11px;color:var(--muted)}.column-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.document-canvas{background:var(--surface-soft);padding:21px 23px 54px;min-height:100%}.page-sheet{max-width:740px;margin:0 auto 16px;padding:30px 32px 40px;background:var(--surface);border:1px solid var(--line);border-radius:7px;box-shadow:0 6px 28px rgba(23,49,66,.055)}.page-meta{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:22px;color:var(--muted);font-size:10px;letter-spacing:.045em}.document-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2.04;color:var(--text);font-size:13px;letter-spacing:.012em}.clause-highlight{border:0;border-bottom:1.5px solid var(--red);background:color-mix(in srgb,var(--red) 14%,transparent);border-radius:2px;padding:2px 0;color:inherit;text-align:left;cursor:pointer;box-decoration-break:clone;-webkit-box-decoration-break:clone}.clause-highlight.medium{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 15%,transparent)}.clause-highlight.low{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,transparent)}.clause-highlight.active{outline:2px solid var(--accent);outline-offset:2px;background:var(--accent-soft)}.review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:15px 15px 12px;border-bottom:1px solid var(--line)}.summary-cell{padding:9px 10px;background:var(--surface-soft);border-radius:9px}.summary-label{font-size:10px;color:var(--muted)}.summary-value{font-size:18px;font-weight:740;letter-spacing:-.045em;margin-top:4px}.summary-cell.high .summary-value{color:var(--red)}.summary-cell.medium .summary-value{color:var(--amber)}.summary-cell.low .summary-value{color:var(--green)}.review-filter{display:flex;gap:7px;align-items:center;padding:12px 15px 4px;flex-wrap:wrap}.review-filter .pill-filter{padding:6px 11px;font-size:11px;border-radius:8px}.findings-list{padding:8px 12px 20px}.finding-card{border:1px solid var(--line);border-left:3px solid var(--line-2);padding:15px 15px 14px;border-radius:10px;margin-bottom:9px;background:var(--surface);cursor:pointer;transition:all .16s}.finding-card:hover{border-color:var(--line-2);background:var(--surface-soft);transform:translateX(-1px)}.finding-card.high{border-left-color:var(--red)}.finding-card.medium{border-left-color:var(--amber)}.finding-card.low{border-left-color:var(--green)}.finding-card.resolved{opacity:.65}.finding-head{display:flex;align-items:center;gap:9px;justify-content:space-between}.finding-name{font-size:12px;font-weight:730;line-height:1.5;margin-top:9px}.finding-snippet{font-size:11px;color:var(--text-2);margin-top:6px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.finding-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-top:11px}.detail-pane{padding:19px 19px 25px;flex:1;overflow-y:auto;min-height:0}.detail-topline{display:flex;align-items:center;justify-content:space-between;gap:9px}.detail-back{border:0;color:var(--accent);display:inline-flex;align-items:center;gap:5px;background:none;font-size:11px;padding:0}.detail-title{font-size:19px;line-height:1.4;margin-top:20px}.detail-section{margin-top:23px}.detail-label{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:750;margin-bottom:9px}.detail-text{font-size:12px;line-height:1.95;color:var(--text-2)}.quote-block{font-size:12px;line-height:1.95;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-left:3px solid var(--accent-2);padding:14px 16px;border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere}.suggestion-box{font-size:12px;line-height:1.9;padding:15px 16px;border-radius:9px;background:var(--accent-soft);color:var(--text);border:1px solid transparent}.detail-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.detail-note{width:100%;min-height:84px}.detail-warning{margin-top:13px;font-size:11px;color:var(--muted);line-height:1.7}.low-confidence{display:inline-flex;align-items:center;gap:7px;background:var(--amber-bg);color:var(--amber);padding:10px 12px;border-radius:9px;font-size:11px;line-height:1.6}
.rules-hero{display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:linear-gradient(105deg,#eaf4fa,#f8fbfd);border:1px solid #e5eef4;border-radius:16px;margin-bottom:20px}.rules-hero h2{font-size:20px}.rules-hero p{color:#658296;font-size:12px;margin-top:9px;max-width:590px;line-height:1.8}:root[data-theme="dark"] .rules-hero{background:linear-gradient(105deg,#1a384c,#23364b);border-color:var(--line)}:root[data-theme="dark"] .rules-hero p{color:#a8c6d5}.rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.rule-card{padding:18px 19px;display:flex;align-items:flex-start;gap:13px}.rule-card h3{font-size:13px;margin-top:4px}.rule-card p{font-size:11px;color:var(--muted);line-height:1.72;margin-top:8px}.rule-card-footer{display:flex;align-items:center;gap:7px;margin-top:12px}.rule-dot{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--accent-soft);color:var(--accent);flex:none}.rule-custom-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 20px;border-bottom:1px solid var(--line)}.rule-custom-row:last-child{border-bottom:0}.switch{appearance:none;width:34px;height:20px;border-radius:20px;background:var(--line-2);position:relative;cursor:pointer;transition:background .16s}.switch:after{content:"";width:14px;height:14px;border-radius:50%;background:white;position:absolute;top:3px;left:3px;transition:transform .16s}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translateX(14px)}
.setting-block{padding:22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.setting-block:last-child{border-bottom:0}.setting-block h3{font-size:13px}.setting-block p{font-size:11px;line-height:1.8;color:var(--muted);max-width:640px;margin-top:5px}.setting-icon{width:38px;height:38px;border-radius:11px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.code-block{border-radius:10px;background:var(--surface-soft);padding:16px;border:1px solid var(--line);font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--text-2);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.activity-row{display:flex;gap:13px;align-items:flex-start;padding:17px 22px;border-bottom:1px solid var(--line)}.activity-row:last-child{border-bottom:0}.activity-symbol{height:34px;width:34px;display:grid;place-items:center;border-radius:10px;background:var(--accent-soft);color:var(--accent)}.activity-row h4{font-size:12px;font-weight:650}.activity-row p{font-size:10px;color:var(--muted);margin-top:5px}
.modal-overlay{position:fixed;inset:0;background:rgba(9,26,39,.49);backdrop-filter:blur(9px);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px;animation:fadeIn .14s ease}.modal{width:min(550px,100%);max-height:92vh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:19px;box-shadow:0 22px 80px rgba(5,19,32,.2);padding:27px;position:relative;animation:slideIn .22s ease}.modal.wide{width:min(720px,100%)}.modal h2{font-size:20px}.modal p.modal-desc{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.8}.modal-close{position:absolute;top:20px;right:21px}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:24px}.dropzone{border:1.5px dashed #b7ccda;background:var(--surface-soft);border-radius:13px;padding:28px 18px;text-align:center;cursor:pointer;transition:all .18s;margin:22px 0 17px}.dropzone:hover,.dropzone.dragover{background:var(--accent-soft);border-color:var(--accent)}.dropzone svg{color:var(--accent)}.dropzone strong{display:block;margin:10px 0 4px;font-size:13px}.dropzone p{color:var(--muted);font-size:11px}.upload-files{display:flex;flex-direction:column;gap:7px;max-height:140px;overflow:auto}.upload-file{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;background:var(--surface-soft);border-radius:8px;border:1px solid var(--line);font-size:11px}.progress-track{height:6px;background:var(--line);border-radius:20px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .24s;border-radius:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.modal-form-help{margin-top:8px;font-size:10px;color:var(--muted);line-height:1.7}.inline-error{color:var(--red);font-size:11px;margin-top:8px}.compare-box{display:flex;flex-direction:column;gap:9px;max-height:440px;overflow:auto}.diff-line{padding:10px 13px;font-size:11px;line-height:1.8;border-radius:9px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-soft)}.diff-line.del{background:var(--red-bg);color:var(--red)}.diff-line.add{background:var(--green-bg);color:var(--green)}.modal-tabs{display:flex;gap:4px;margin:21px 0 20px;background:var(--surface-soft);border-radius:10px;padding:4px}.modal-tab{flex:1;border:0;background:transparent;padding:9px;border-radius:7px;font-weight:650;font-size:12px;color:var(--muted)}.modal-tab.active{background:var(--surface);color:var(--text);box-shadow:0 3px 9px rgba(31,55,75,.07)}
.qa-panel{position:fixed;right:24px;bottom:22px;width:min(435px,calc(100vw - 48px));height:min(640px,calc(100vh - 110px));display:flex;flex-direction:column;border-radius:17px;background:var(--surface);box-shadow:0 24px 85px rgba(11,38,59,.25);border:1px solid var(--line);z-index:33;overflow:hidden;animation:slideIn .18s ease}.qa-header{padding:15px 17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.qa-body{flex:1;overflow:auto;padding:17px;background:var(--surface-soft)}.qa-bubble{padding:12px 14px;font-size:12px;line-height:1.85;border-radius:12px;margin-bottom:12px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);max-width:95%}.qa-bubble.user{background:var(--accent);color:white;border-color:transparent;margin-left:auto;max-width:85%}.qa-source{display:block;font-size:10px;color:var(--accent);background:var(--accent-soft);margin-top:8px;padding:8px;border-radius:8px;text-align:left;width:100%;border:0;line-height:1.7}.qa-form{padding:12px;border-top:1px solid var(--line);display:flex;gap:7px}.qa-form input{flex:1;min-width:0}
.qa-inline-citation{border:0;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:750;border-radius:5px;padding:1px 5px;margin:0 2px;vertical-align:baseline;cursor:pointer}.qa-citations-label{font-size:10px;font-weight:700;color:var(--muted);margin:11px 0 4px}.qa-source{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:8px}.qa-source>span:first-child{font-weight:700;white-space:nowrap}.qa-warning{display:flex;flex-direction:column;gap:3px;padding:10px 12px;margin-bottom:12px;background:var(--amber-bg);color:var(--amber);border-radius:9px;font-size:10px;line-height:1.7}.qa-mode-note{padding:8px 10px;margin-top:9px;border-radius:8px;background:var(--surface-soft);color:var(--muted);font-size:10px;line-height:1.7}.qa-status,.qa-error{padding:9px 11px;margin-bottom:10px;border-radius:8px;font-size:10px;line-height:1.7}.qa-status{display:flex;align-items:center;gap:8px;background:var(--surface);color:var(--muted)}.qa-error{background:var(--red-bg);color:var(--red)}.qa-error .btn{margin-left:7px}.qa-highlight{background:color-mix(in srgb,#22a879 28%,transparent);color:inherit;outline:2px solid #208e6b;outline-offset:1px;border-radius:2px;padding:1px 0;box-decoration-break:clone;-webkit-box-decoration-break:clone}.clause-highlight.qa-highlight{outline:2px solid #208e6b;outline-offset:1px;background:color-mix(in srgb,#22a879 34%,transparent)}
.qa-heading{min-width:0;max-width:300px}.qa-contract-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qa-history-truncated{display:block}
#toast-host{position:fixed;right:24px;top:96px;z-index:100;display:flex;flex-direction:column;gap:9px;pointer-events:none}.toast{display:flex;gap:10px;align-items:flex-start;min-width:280px;max-width:450px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--green);padding:13px 16px;box-shadow:0 12px 40px rgba(17,47,65,.15);border-radius:11px;color:var(--text);font-size:12px;pointer-events:auto;animation:slideIn .18s ease}.toast.error{border-left-color:var(--red)}.toast svg{color:var(--green)}.toast.error svg{color:var(--red)}
.boot-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.boot-mark{width:65px;height:65px;display:grid;place-items:center;background:var(--nav);color:white;font-size:33px;border-radius:17px}.boot-title{font-size:18px;letter-spacing:.1em;font-weight:730}.boot-sub{color:var(--muted);font-size:12px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);background:var(--surface)}.auth-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#142b42,#214b64 66%,#315b71);color:white;padding:50px min(7vw,90px);display:flex;flex-direction:column}.auth-hero:after{content:"";position:absolute;left:-150px;bottom:-240px;width:720px;height:720px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 165px rgba(255,255,255,.02)}.auth-hero-top{display:flex;align-items:center;gap:11px;font-weight:700;font-size:18px;letter-spacing:.07em;z-index:1}.auth-hero-content{margin:auto 0;max-width:660px;z-index:1}.auth-hero-content .eyebrow{color:#93c9e3;font-size:11px}.auth-hero h1{font-size:clamp(33px,3.65vw,57px);line-height:1.38;letter-spacing:-.055em;font-weight:600;margin:19px 0 21px}.auth-hero h1 em{font-style:normal;color:#a4d9ef}.auth-hero-content>p{font-size:14px;color:#c1d6e2;max-width:480px;line-height:2}.auth-proof{display:flex;gap:23px;margin-top:44px;flex-wrap:wrap}.auth-proof-item{display:flex;align-items:center;gap:7px;font-size:11px;color:#d9e8f1}.auth-proof-item svg{color:#9bd9cf}.auth-hero-bottom{z-index:1;color:#91aec1;font-size:10px;letter-spacing:.08em}.auth-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px 35px;position:relative}.auth-card{width:min(380px,100%)}.auth-card h2{font-size:27px;letter-spacing:-.055em;font-weight:730}.auth-sub{margin:11px 0 31px;font-size:12px;color:var(--muted);line-height:1.8}.auth-card .input{height:46px;width:100%}.auth-card .field-group{margin-bottom:17px}.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:10px;margin:23px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}.auth-demo{height:46px;width:100%;border-radius:11px;background:var(--surface);border:1px solid var(--line-2);font-weight:650;font-size:12px}.auth-demo:hover{border-color:var(--accent)}.auth-bottom{margin-top:20px;font-size:11px;color:var(--muted);text-align:center}.auth-bottom button{background:none;border:0;color:var(--accent);font-weight:700;padding:0}.auth-legal{position:absolute;bottom:27px;font-size:10px;color:var(--muted);text-align:center;padding:0 20px}
.loading{padding:35px;display:flex;gap:11px;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.spinner{width:16px;height:16px;border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
@media (max-width:1320px){.sidebar{width:220px}.main-area{margin-left:220px}.content{padding:27px 27px 65px}.topbar{padding:0 26px}.banner-orbit{margin-right:25px}.metric-grid{gap:12px}.metric-card{padding:19px 17px}.workspace-grid{grid-template-columns:minmax(0,1.05fr) minmax(340px,1fr)}.document-canvas{padding:18px}.page-sheet{padding:23px}}
@media (max-width:1080px){.sidebar{width:70px}.brand{padding:23px 16px}.brand-word,.brand-caption,.workspace-label,.nav-link span,.sidebar-status,.sidebar-foot{display:none}.nav-container{padding:0 10px}.nav-link{justify-content:center;padding:13px}.nav-link.active::after{display:none}.sidebar-bottom{padding:0}.main-area{margin-left:70px}.content{padding:26px}.welcome-banner{padding:28px}.dashboard-grid{grid-template-columns:1.35fr 1fr}.top-search{min-width:160px}.workspace-grid{height:calc(100vh - 270px);grid-template-columns:minmax(0,1fr) minmax(325px,1fr)}}
@media (max-width:780px){.sidebar{width:100%;height:61px;inset:0 0 auto 0;flex-direction:row;align-items:center;overflow:auto}.brand{padding:9px 15px;flex:none}.nav-container{flex-direction:row;align-items:center}.nav-section,.sidebar-bottom{display:none}.nav-link{min-width:44px;flex:none;padding:10px}.main-area{margin-left:0;margin-top:61px}.topbar{height:62px;padding:0 16px}.top-search{min-width:0;width:140px}.top-search input{width:85px}.content{padding:22px 16px 55px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-heading h1{font-size:24px}.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.welcome-banner{min-height:200px}.banner-orbit{display:none}.workspace-headline{flex-direction:column}.workspace-grid{display:flex;flex-direction:column;height:auto;min-height:0}.workspace-column{max-height:590px;min-height:400px}.workspace-column:last-child{max-height:680px}.rule-list{grid-template-columns:1fr}.settings-grid{grid-template-columns:1fr}.auth-shell{grid-template-columns:1fr}.auth-hero{display:none}.auth-main{min-height:100vh}.form-grid{grid-template-columns:1fr}.docs-header{grid-template-columns:minmax(0,1fr) 75px 58px}.docs-header span:nth-child(3),.docs-list .doc-row>span:nth-last-child(2){display:none}.docs-list .doc-row{grid-template-columns:minmax(0,1fr) 75px 58px}.doc-row{grid-template-columns:minmax(0,1fr) 65px 70px}.doc-row .doc-date{display:none}.review-summary{padding:10px}.modal{padding:22px}.setting-block{align-items:flex-start;flex-direction:column}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.membership-side-balance{display:block;width:100%;margin-top:10px;padding:8px 10px;border:1px solid rgba(179,219,236,.2);border-radius:8px;background:rgba(130,192,221,.09);color:#d9e8f1;text-align:left;font-size:11px;cursor:pointer}.membership-side-balance:hover{background:rgba(130,192,221,.18)}.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.membership-card{padding:22px}.membership-card h2{font-size:19px;margin:4px 0 12px}.membership-card h3{font-size:14px;margin:22px 0 9px}.membership-card p{font-size:12px;line-height:1.75;color:var(--text-2);margin:8px 0}.membership-rules{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.membership-rules span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft);font-size:11px}.membership-count{display:flex;align-items:baseline;gap:12px}.membership-count strong{font-size:38px;color:var(--accent)}.membership-count span{font-size:12px;color:var(--muted)}.membership-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-top:16px}.membership-form .input{min-width:190px;flex:1}.membership-form label{align-self:center}.membership-message{border-radius:8px;background:var(--accent-soft);padding:10px 12px;color:var(--accent)!important}.membership-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}.membership-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.membership-row strong{white-space:nowrap}.membership-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:15px;font-size:11px}.membership-plain{margin:16px 0;padding:14px;border:1px solid var(--accent);border-radius:10px;background:var(--surface-soft)}.membership-plain pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:210px;overflow:auto;font-size:11px;line-height:1.7;margin-top:12px}@media(max-width:1080px){.membership-side-balance{display:none}}@media(max-width:780px){.membership-grid{grid-template-columns:1fr}.membership-card{padding:18px}}
.top-membership-balance{border:1px solid var(--line);background:var(--surface-soft);color:var(--accent);border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;white-space:nowrap}.top-membership-balance:hover{border-color:var(--accent)}
