:root{--bg:#f3f5f8;--card:#fff;--text:#1a2230;--muted:#6b7686;--line:#e3e7ee;--brand:#1e3a5f;--brand-2:#2d5a8e;--accent:#f5c76b;--ours:#2d6cdf;--ours-bg:#eef4ff;--theirs:#d97a1c;--theirs-bg:#fff5ea;--note:#7a8494;--note-bg:#f4f5f7;--ok:#1f9d6b;--ok-bg:#e3f6ee;--danger:#d64545;--danger-bg:#fde8e8;--req:#7c5cd6;--req-text:#6b46c1;--req-bg:#f6f2ff;--req-tag-bg:#f1ebff;--composer-bg:#f0f2f5;--send-bg:#1e3a5f;--radius:14px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f141b;--card:#19212c;--text:#e6ebf2;--muted:#8d98a8;--line:#2a3442;--brand:#16283f;--ours-bg:#172437;--theirs-bg:#2a2014;--note-bg:#1e252f;--brand-2:#5b93dd;--ok-bg:#143327;--danger-bg:#3a1a1c;--req:#9b7ff0;--req-text:#c4b2ff;--req-bg:#221c36;--req-tag-bg:#2d2547;--composer-bg:#161d26;--send-bg:#2f6fd6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font:16px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}.page{max-width:760px;min-height:100vh;margin:0 auto}.content{padding:12px 14px calc(96px + var(--safe-bottom))}.muted{color:var(--muted)}.center{text-align:center;padding:32px 0}.pad{padding:16px}.error{color:var(--danger);margin:8px 0;font-size:14px}.topbar{z-index:10;padding:calc(8px + var(--safe-top)) 8px 8px;background:var(--brand);color:#fff;align-items:center;gap:8px;display:flex;position:sticky;top:0}.topbar-title{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1;margin:0;font-size:17px;font-weight:600;overflow:hidden}.topbar-btn{color:#fff;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;min-width:44px;height:36px;padding:0 10px;font-size:28px;line-height:36px;display:inline-flex}.topbar-btn.small{background:#ffffff24;font-size:14px}.topbar-btn.danger{background:#d64545d9}.topbar-spacer{width:44px;display:inline-block}.topbar-right{justify-content:flex-end;min-width:44px;display:flex}.list-tools{top:calc(52px + var(--safe-top));z-index:9;background:var(--bg);padding:12px 14px 4px;position:sticky}.search{border:1px solid var(--line);background:var(--card);border-radius:12px;width:100%;height:42px;padding:0 14px}.seg{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:6px;margin-top:10px;padding:4px;display:flex}.seg button{height:34px;color:var(--muted);background:0 0;border:0;border-radius:9px;flex:1;font-size:14px}.seg button.on{background:var(--brand);color:#fff;font-weight:600}.seg.big button{height:40px}.seg.big button.on.ours{background:var(--ours)}.seg.big button.on.theirs{background:var(--theirs)}.seg.big button.on.note{background:var(--note)}.case-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);margin-bottom:12px;padding:14px 16px;display:block;box-shadow:0 1px 2px #1018280f}.case-card:active{transform:scale(.99)}.case-card h2{margin:6px 0 2px;font-size:17px;line-height:1.4}.case-card-head{align-items:center;gap:6px;display:flex}.case-card-date{color:var(--muted);margin-left:auto;font-size:12px}.case-card-meta{color:var(--muted);margin:0;font-size:13px}.case-card-latest{border-radius:10px;margin:8px 0 0;padding:8px 10px;font-size:14px}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.case-card-latest.ours{background:var(--ours-bg)}.case-card-latest.theirs{background:var(--theirs-bg)}.case-card-latest.note{background:var(--note-bg)}.case-card-foot{color:var(--muted);margin:6px 0 0;font-size:12px}.tag{border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600}.tag.active{background:var(--ok-bg);color:var(--ok)}.tag.closed{background:var(--note-bg);color:var(--note)}.tag.plain{background:var(--ours-bg);color:var(--brand-2)}.panel{background:var(--card);border-radius:var(--radius);border:1px solid var(--line);margin-bottom:14px;padding:16px}.case-title{margin:8px 0 4px;font-size:20px;line-height:1.4}.meta{grid-template-columns:1fr 1fr;gap:8px 14px;margin:12px 0 0;display:grid}.meta div{min-width:0}.meta dt{color:var(--muted);font-size:12px}.meta dd{word-break:break-word;margin:0;font-size:15px}.section-title{margin:0 0 8px;font-size:16px}.sub-title{color:var(--muted);margin:16px 0 8px;font-size:14px;font-weight:600}.prose{white-space:pre-wrap;word-break:break-word;font-size:15.5px;line-height:1.75}.link-btn{color:var(--brand-2);background:0 0;border:0;padding:6px 0;font-size:14px}.att-list{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.att{align-items:center;gap:6px;display:flex}.att-link{border:1px solid var(--line);background:var(--bg);border-radius:12px;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.att-link:active{background:var(--line)}.att-badge{color:#fff;background:#8792a2;border-radius:9px;flex:none;place-items:center;width:40px;height:40px;font-size:11px;font-weight:800;display:grid}.att-badge.pdf{background:#e2453c}.att-badge.img{background:#2f9e74}.att-badge.doc{background:#2b65c7}.att-badge.xls{background:#1f8a4c}.att-badge.media{background:#8a4fd1}.att-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.att-size{color:var(--muted);flex:none;font-size:12px}.att-remove{background:var(--note-bg);width:36px;height:36px;color:var(--danger);border:0;border-radius:10px;flex:none;font-size:20px}.timeline-head{justify-content:space-between;align-items:center;margin:20px 2px 10px;display:flex}.timeline-head .section-title{margin:0}.timeline{border-left:2px solid var(--line);margin:0;padding:0 0 0 14px;list-style:none}.fu{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);border-left:4px solid var(--note);margin:0 0 14px 6px;padding:12px 14px;position:relative}.fu:before{content:"";background:var(--note);border:3px solid var(--bg);border-radius:50%;width:12px;height:12px;position:absolute;top:18px;left:-29px}.fu.ours{border-left-color:var(--ours)}.fu.ours:before{background:var(--ours)}.fu.theirs{border-left-color:var(--theirs);background:var(--theirs-bg)}.fu.theirs:before{background:var(--theirs)}.fu.note{background:var(--note-bg)}.fu-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fu-side{color:#fff;background:var(--note);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.fu-side.ours{background:var(--ours)}.fu-side.theirs{background:var(--theirs)}.fu-actor{font-size:15px;font-weight:600}.fu-channel{color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:0 6px;font-size:12px}.fu-edit{color:var(--muted);margin-left:auto;padding:2px 6px;font-size:16px}.fu-time{color:var(--muted);margin:2px 0 6px;font-size:12px;display:block}.fab{right:max(18px,50vw - 362px);bottom:calc(22px + var(--safe-bottom));background:var(--brand);width:58px;height:58px;color:var(--accent);z-index:20;border:0;border-radius:50%;font-size:30px;line-height:1;position:fixed;box-shadow:0 6px 18px #10182847}.form label,.form .field{color:var(--muted);flex-direction:column;gap:4px;margin-bottom:14px;font-size:13px;display:flex}.field-label{color:var(--muted);font-size:13px}.form input,.form select,.form textarea{border:1px solid var(--line);background:var(--card);width:100%;color:var(--text);border-radius:12px;padding:10px 12px;font-size:16px}.form input,.form select{height:46px}.form textarea{resize:vertical;line-height:1.6}.form .seg{margin:0 0 16px}.row2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.row2 label{min-width:0}.btn{border:1px solid #0000;border-radius:12px;height:46px;padding:0 18px;font-size:16px;font-weight:600}.btn.full{width:100%}.btn.primary{background:var(--brand);color:#fff}.btn.ghost{border:1px dashed var(--brand-2);color:var(--brand-2);background:0 0}.btn:disabled{opacity:.5}.uploader .btn{margin-top:8px}.sticky-submit{bottom:calc(12px + var(--safe-bottom));position:sticky;box-shadow:0 4px 14px #10182833}.login{background:linear-gradient(160deg, var(--brand), #0d1b2d);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--card);text-align:center;border-radius:20px;width:100%;max-width:360px;padding:28px 22px}.login-card h1{margin:8px 0 0;font-size:22px}.login-card p{margin:2px 0 18px}.login-logo{width:64px;height:64px}.login-card label{text-align:left;color:var(--muted);flex-direction:column;gap:4px;margin-bottom:12px;font-size:13px;display:flex}.login-card input{border:1px solid var(--line);background:var(--bg);border-radius:12px;height:46px;padding:0 12px;font-size:16px}.login-card .btn{margin-top:6px}.has-tabbar .content{padding-bottom:calc(150px + var(--safe-bottom))}.has-tabbar .fab{bottom:calc(84px + var(--safe-bottom))}.tabbar{z-index:15;background:var(--card);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:1px;padding:7px 0 6px;font-size:12px;display:flex}.tabbar a.on{color:var(--brand-2);font-weight:700}.tab-icon{filter:grayscale();opacity:.7;font-size:21px;line-height:1.1}.tabbar a.on .tab-icon{filter:none;opacity:1}@media (width>=760px){.tabbar{width:760px;left:50%;transform:translate(-50%)}}.topbar-actions{gap:6px;display:flex}.small{font-size:12px}.pad-x{padding:0 4px}.grow{flex:1;min-width:0}.grow p{margin:0}.ok-text{color:var(--ok);margin:8px 0;font-size:14px}.tag.danger{background:var(--danger-bg);color:var(--danger)}.lang-toggle{color:#fff;background:0 0;border:1px solid #fff6;border-radius:999px;padding:4px 12px;font-size:13px}.login{position:relative}.login-lang{top:calc(14px + var(--safe-top));position:absolute;right:14px}.seg.big button.on.c-ours{background:var(--ours)}.seg.big button.on.c-theirs{background:var(--theirs)}.seg.big button.on.c-note,.seg.big button.on.c-internal{background:var(--note)}.tag.cs-requested{background:var(--req-tag-bg);color:var(--req-text)}.tag.cs-drafting{background:var(--ours-bg);color:var(--ours)}.tag.cs-negotiating{background:var(--theirs-bg);color:var(--theirs)}.tag.cs-signed{background:var(--ok-bg);color:var(--ok)}.tag.cs-cancelled{background:var(--note-bg);color:var(--note)}.ver-line{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.ver-badge{color:var(--brand-2);background:var(--ours-bg);border-radius:8px;padding:2px 10px;font-size:13px;font-weight:700}.ver-badge.empty{color:var(--muted);background:var(--note-bg);font-weight:500}.case-card-latest.request{background:var(--req-bg)}.current-box{background:var(--ours-bg);border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:12px}.current-head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.current-head b{color:var(--brand-2);font-size:17px}.current-box .att-link{background:var(--card)}.ver-no{text-align:center;color:#fff;background:var(--brand-2);border-radius:8px;min-width:38px;padding:1px 8px;font-size:15px;font-weight:800;display:inline-block}.fu.version{border-left-color:var(--brand-2)}.fu.version:before{background:var(--brand-2)}.fu.version.current{box-shadow:0 0 0 2px var(--brand-2) inset}.fu.request{border-left-color:var(--req);background:var(--req-bg)}.fu.request:before,.fu-side.request{background:var(--req)}.fu.fb-theirs{border-left-color:var(--theirs);background:var(--theirs-bg)}.fu.fb-theirs:before{background:var(--theirs)}.fu.fb-ours{border-left-color:var(--ours)}.fu.fb-ours:before{background:var(--ours)}.fu.fb-internal{background:var(--note-bg)}.fu-side.fb-theirs{background:var(--theirs)}.fu-side.fb-ours{background:var(--ours)}.ver-preview{align-items:center;gap:10px;margin:0 0 14px;display:flex}.ver-preview .ver-no{padding:4px 12px;font-size:20px}.fab{transition:transform .15s}.fab.open{transform:rotate(45deg)}.fab-menu{z-index:19;padding:0 max(18px, calc(50vw - 380px + 18px)) calc(96px + var(--safe-bottom));background:#0a142359;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:10px;display:flex;position:fixed;inset:0}.fab-menu button{background:var(--card);color:var(--text);border:0;border-radius:999px;padding:12px 18px;font-size:15px;font-weight:600;box-shadow:0 4px 14px #10182833}.form .check{color:var(--text);flex-direction:row;align-items:center;gap:8px;font-size:15px}.form .check input{width:20px;height:20px}.form .field-label+.seg{margin-top:4px}.profile{align-items:center;gap:12px;display:flex}.profile p{margin:0}.avatar{background:var(--brand);width:48px;height:48px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:20px;font-weight:800;display:grid}.avatar.small{width:38px;height:38px;font-size:16px}.row-link{align-items:center;gap:10px;display:flex}.user-row{margin-bottom:10px;padding:12px 14px}.inactive{opacity:.5}.btn.danger-outline{border:1px solid var(--danger);color:var(--danger);background:0 0}.access-row{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding:10px 0;display:flex}.access-row:last-child{border-bottom:0}.access-title{text-overflow:ellipsis;min-width:0;font-size:15px;overflow:hidden}.lv-seg{gap:4px;display:flex}.lv-seg button{border:1px solid var(--line);background:var(--bg);height:34px;color:var(--muted);border-radius:9px;flex:1;font-size:13px}.lv-seg button.on.lv-none{background:var(--note);color:#fff;border-color:#0000}.lv-seg button.on.lv-view{background:var(--ours);color:#fff;border-color:#0000}.lv-seg button.on.lv-edit{background:var(--ok);color:#fff;border-color:#0000}.fu-head{padding-right:30px}.fu-edit{margin:0;position:absolute;top:10px;right:8px}.has-composer .content{padding-bottom:calc(var(--composer-space,72px) + 20px)}.composer{z-index:30;background:var(--composer-bg);border-top:1px solid var(--line);padding:6px 8px calc(6px + var(--safe-bottom));position:fixed;bottom:0;left:0;right:0}.composer.kb-open{padding-bottom:6px}@media (width>=760px){.composer{width:760px;margin-left:-380px;left:50%}}.composer-row{align-items:flex-end;gap:6px;display:flex}.composer-pill{background:var(--card);border-radius:24px;flex:1;align-items:flex-end;min-width:0;min-height:46px;padding:4px 2px 4px 12px;display:flex;box-shadow:0 1px 1px #10182814}.composer-pill textarea{resize:none;min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1;max-height:132px;margin:0;padding:8px 6px;font-size:16px;line-height:22px;overflow-y:auto}.composer-pill textarea::placeholder{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mode-chip{color:#fff;background:var(--note);white-space:nowrap;border:0;border-radius:15px;flex:none;height:30px;margin:4px 2px;padding:0 11px;font-size:13px;font-weight:700}.mode-chip.ours{background:var(--ours)}.mode-chip.theirs{background:var(--theirs)}.mode-chip.note{background:var(--note)}.mode-chip.version{background:var(--brand-2)}.pill-icon{width:36px;height:38px;color:var(--muted);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.send-btn{background:var(--send-bg);color:#fff;border:0;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;padding:0 0 0 3px;display:grid}.send-btn:disabled{opacity:.45}.composer-tray{align-items:center;gap:6px;padding:2px 2px 8px;display:flex;overflow-x:auto}.tray-item{background:var(--card);border:1px solid var(--line);border-radius:10px;flex:none;align-items:center;gap:6px;max-width:230px;padding:4px 4px 4px 6px;font-size:13px;display:flex}.tray-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tray-item button{background:var(--note-bg);color:var(--danger);border:0;border-radius:6px;width:24px;height:24px;font-size:16px;line-height:1}.att-badge.mini{border-radius:6px;width:26px;height:26px;font-size:8px}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.timeline>li{scroll-margin-bottom:calc(var(--composer-space,72px) + 16px)}.new-version-btn{justify-content:center;align-items:center;height:42px;margin-top:10px;font-size:15px;display:flex}.composer:after{content:"";background:var(--composer-bg);height:100vh;position:absolute;top:100%;left:0;right:0}.rt{color:var(--text);word-break:break-word;font-size:15px;line-height:1.7}.rt>:first-child{margin-top:0}.rt>:last-child{margin-bottom:0}.rt-p{margin:0 0 10px}.rt-h{border-left:3px solid var(--brand-2);color:var(--brand-2);letter-spacing:.5px;margin:20px 0 8px;padding:2px 0 2px 10px;font-size:15px;font-weight:700;line-height:1.4}.rt-ul,.rt-ol{margin:0 0 10px;padding:0;list-style:none}.rt-ul li{margin:0 0 6px;padding-left:16px;position:relative}.rt-ul li:before{content:"";background:var(--brand-2);opacity:.7;border-radius:50%;width:6px;height:6px;position:absolute;top:.72em;left:3px}.rt-ol li{gap:10px;margin:0 0 10px;display:flex}.rt-num{background:var(--ours-bg);width:22px;height:22px;color:var(--brand-2);border-radius:50%;flex:none;place-items:center;margin-top:2px;font-size:12px;font-weight:700;line-height:1;display:grid}.rt-oltext{flex:1;min-width:0}.rt-date{color:var(--text);margin-right:2px;font-weight:700}.rt-label{font-weight:700}.rt-money{font-weight:600}.fu .rt{font-size:15px;line-height:1.65}.fu .rt-h{margin-top:12px}.topbar-btn.icon-btn{min-width:40px;padding:0 9px}
