:root{--ink:#14161b;--slate:#5b6472;--canvas:#f5f6f8;--paper:#fff;--line:#e7e9ee;--line-strong:#d7dae1;--jade:#0e8a5f;--jade-hover:#0b7150;--jade-soft:#e6f4ee;--jade-ink:#0a5a3f;--aurora:linear-gradient(135deg, #0e8a5f 0%, #12b3a0 52%, #5ad1a0 100%);--text:var(--ink);--text-muted:var(--slate);--bg:var(--canvas);--panel-bg:var(--paper);--border:var(--line);--accent:var(--jade);--accent-hover:var(--jade-hover);--accent-bg:var(--jade-soft);--danger:#dc2626;--danger-bg:#fdecec;--success:#0e8a5f;--insert-bg:#d5f2e2;--delete-bg:#fbdada;--radius:12px;--radius-sm:8px;--radius-lg:18px;--shadow-sm:0 1px 2px #14161b0d, 0 1px 3px #14161b0a;--shadow-md:0 6px 18px #14161b12;--shadow-lg:0 18px 48px #14161b24;--ring:0 0 0 3px #0e8a5f2e;--sans:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--display:"Space Grotesk", var(--sans);--mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*{box-sizing:border-box}.brand-mark{background:var(--aurora);color:#fff;font-family:var(--display);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 4px 12px #0e8a5f47}body{height:100vh;margin:0;overflow:hidden}#root{flex-direction:column;height:100vh;display:flex;overflow:hidden}a{color:var(--accent)}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit}:focus-visible{box-shadow:var(--ring);border-radius:var(--radius-sm);outline:none}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.01em}.app-header{-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--border);background:#ffffffd1;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.app-header a.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark-sm{width:30px;height:30px;font-size:15px}.brand-wordmark{font-family:var(--display);letter-spacing:-.02em;font-size:18px;font-weight:700}.brand-accent{color:var(--jade)}.header-user{align-items:center;gap:12px;display:flex}.header-user-avatar{background:var(--jade-soft);width:30px;height:30px;color:var(--jade-ink);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.app-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.container{flex:1;width:100%;max-width:1080px;min-height:0;margin:0 auto;padding:28px 24px 40px;overflow-y:auto}.btn{border:1px solid var(--line-strong);background:var(--panel-bg);color:var(--text);border-radius:10px;align-items:center;gap:7px;padding:9px 15px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s,transform 50ms;display:inline-flex}.btn:hover{background:#f0f2f4;border-color:#c7ccd5}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px #0e8a5f38}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:#f3c6c6}.btn-danger:hover{background:var(--danger-bg)}.btn-small{padding:4px 8px;font-size:12px}.page-title-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-title-row h2{margin:0}.contract-table{border-collapse:collapse;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);overflow:hidden}.contract-table th,.contract-table td{text-align:left;border-bottom:1px solid var(--border);padding:13px 16px;font-size:14px}.contract-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;background:var(--canvas);font-size:12px;font-weight:700}.contract-table tbody tr:last-child td{border-bottom:none}.contract-table tbody tr:hover{background:var(--jade-soft);cursor:pointer}.contract-table .cell-actions{text-align:right;white-space:nowrap;width:1%}.contract-title-link{color:var(--text);font-weight:600;text-decoration:none}.contract-title-link:hover{color:var(--accent)}.empty-state{text-align:center;color:var(--text-muted);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:var(--panel-bg);padding:56px 40px}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius);text-align:center;color:var(--text-muted);background:var(--panel-bg);margin-bottom:20px;padding:30px;transition:border-color .15s,background .15s}.dropzone.dragging{border-color:var(--accent);background:var(--accent-bg)}.dropzone input[type=file]{display:none}.error-banner{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius);border:1px solid #f3c6c6;margin-bottom:16px;padding:10px 14px;font-size:14px}.loading-banner{color:var(--text-muted);padding:10px 0;font-size:14px}.login-page{background:radial-gradient(1100px 480px at 15% -10%, #0e8a5f1a, transparent 60%), radial-gradient(900px 420px at 100% 110%, #12b3a01a, transparent 55%), var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--panel-bg);border:1px solid var(--border);width:100%;max-width:408px;box-shadow:var(--shadow-lg);border-radius:20px;padding:36px 34px 26px}.login-brand{text-align:center;margin-bottom:26px}.login-logo{border-radius:16px;width:56px;height:56px;margin:0 auto 14px;font-size:26px}.login-brand h1{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:24px}.login-subtitle{color:var(--text-muted);margin:6px 0 0;font-size:14px}.login-form{flex-direction:column;gap:14px;display:flex}.login-form label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.login-form input{border:1px solid var(--border);border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.login-form input:focus{border-color:var(--accent,#5a6ef0)}.login-error{color:#c0392b;background:#c0392b14;border-radius:8px;padding:8px 10px;font-size:13px}.login-submit{border-radius:10px;padding:10px;font-size:14px}.login-switch{text-align:center;color:var(--text-muted);margin-top:18px;font-size:13px}.login-switch button{color:var(--accent,#5a6ef0);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.login-switch button:hover{text-decoration:underline}.header-user-name{color:var(--ink);font-size:13px;font-weight:600}.portal-head{margin:28px 0 24px}.portal-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--jade);margin-bottom:8px;font-size:12px;font-weight:700;display:inline-block}.portal-head h2{margin:0;font-size:28px;font-weight:700}.portal-company{color:var(--text-muted);font-weight:500}.portal-subtitle{color:var(--text-muted);margin:8px 0 0;font-size:15px}.portal-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.portal-tile{text-align:left;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel-bg);cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:10px;padding:22px 20px;font-family:inherit;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex;position:relative}.portal-tile:before{content:"";border-radius:inherit;background:var(--aurora);opacity:0;-webkit-mask-composite:xor;pointer-events:none;padding:1px;transition:opacity .18s;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.portal-tile:not(.disabled):hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.portal-tile:not(.disabled):hover:before{opacity:1}.portal-tile.disabled{cursor:default;opacity:.55}.portal-tile-icon{background:var(--canvas);border:1px solid var(--border);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-size:30px;line-height:1;display:inline-flex}.portal-tile-name{font-family:var(--display);font-size:16px;font-weight:700}.portal-tile-desc{color:var(--text-muted);font-size:13px;line-height:1.45}.portal-tile-cta{color:var(--jade);opacity:0;margin-top:auto;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s;transform:translate(-4px)}.portal-tile:hover .portal-tile-cta{opacity:1;transform:translate(0)}.portal-tile-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:var(--canvas);border:1px solid var(--border);border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700;position:absolute;top:14px;right:14px}.settings-layout{grid-template-columns:220px 1fr;align-items:start;gap:28px;display:grid}.settings-nav{flex-direction:column;gap:2px;display:flex;position:sticky;top:0}.settings-nav-item{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 12px;font-family:inherit;font-size:14px;transition:background .15s;display:flex}.settings-nav-item:hover{background:#0000000d}.settings-nav-item.is-active{background:var(--accent-bg);color:var(--jade-ink);box-shadow:inset 3px 0 0 var(--jade);font-weight:700}.settings-nav-icon{flex-shrink:0;font-size:16px;line-height:1}@media (width<=760px){.settings-layout{grid-template-columns:1fr;gap:12px}.settings-nav{flex-flow:wrap;gap:6px;position:static}}.company-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:640px;display:grid}.company-field{flex-direction:column;gap:6px;display:flex}.company-field:nth-child(4){grid-column:1/-1}.company-field-label{color:var(--text);font-size:13px;font-weight:600}.company-field-required{color:var(--danger)}.company-field input{border:1px solid var(--border);border-radius:8px;outline:none;padding:9px 11px;font-family:inherit;font-size:14px}.company-field input:focus{border-color:var(--accent)}.company-form-actions{grid-column:1/-1;align-items:center;gap:12px;margin-top:4px;display:flex}.company-saved{color:var(--success);font-size:13px;font-weight:600}.member-you{color:var(--text-muted);font-size:12px}@media (width<=560px){.company-form{grid-template-columns:1fr}}.settings-section{margin:0 0 28px}.settings-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.settings-section-head h3{margin:0 0 4px;font-size:16px}.settings-hint{color:var(--text-muted);max-width:560px;margin:0;font-size:13px}.key-create-form{border:1px solid var(--border);background:var(--panel-bg);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex}.key-create-form input[type=text],.key-create-form input:not([type]){border:1px solid var(--border);border-radius:8px;outline:none;flex:1;min-width:220px;padding:8px 10px;font-family:inherit;font-size:13px}.key-create-form input:focus{border-color:var(--accent,#5a6ef0)}.key-scope-options{gap:14px;font-size:13px;display:flex}.key-scope-options label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.key-create-actions{gap:8px;display:flex}.key-token-banner{background:var(--jade-soft);border:1px solid #0e8a5f59;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:12px 14px;font-size:13px;display:flex}.key-token{font-family:var(--mono);background:var(--ink);color:#e8f6ef;word-break:break-all;-webkit-user-select:all;user-select:all;border-radius:8px;margin-top:6px;padding:8px 10px;font-size:12px;display:block}.key-token-actions{flex-shrink:0;gap:8px;display:flex}.scope-badge{text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.scope-badge.write{color:var(--accent,#5a6ef0);background:#0e8a5f1a}.scope-badge.read{color:#27ae60;background:#27ae601a}.settings-table td{font-size:13px}.key-revoke-cell{text-align:right}.btn-danger{color:#fff!important;background:#c0392b!important;border-color:#c0392b!important}.audit-list{border:1px solid var(--border);background:var(--panel-bg);border-radius:12px;overflow:hidden}.audit-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;display:flex}.audit-row:last-child{border-bottom:none}.audit-icon{text-align:center;flex-shrink:0;width:22px}.audit-body{flex:1;min-width:0}.audit-detail{color:var(--text-muted);margin-top:2px;font-size:12px}.audit-time{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:12px}.integration-prompt{border:1px solid var(--border);background:var(--panel-bg);white-space:pre-wrap;word-break:break-word;-webkit-user-select:all;user-select:all;border-radius:12px;max-height:340px;margin:0;padding:14px 16px;font-size:12px;line-height:1.55;overflow-y:auto}.breadcrumb{align-items:center;gap:8px;min-width:0;display:flex}.breadcrumb-link{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0}.breadcrumb-link:hover{color:var(--accent,#5a6ef0);text-decoration:underline}.breadcrumb-sep{color:var(--text-muted);font-weight:400}.list-actions{align-items:center;gap:10px;display:flex}.new-contract-menu{display:inline-block;position:relative}.new-menu-list{z-index:40;background:var(--panel-bg);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:2px;min-width:240px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 10px 30px #00000024}.new-menu-item{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:none;border-radius:8px;align-items:flex-start;gap:10px;padding:9px 10px;font-family:inherit;display:flex}.new-menu-item:hover{background:#0e8a5f14}.new-menu-icon{flex-shrink:0;font-size:18px;line-height:1.2}.new-menu-text{flex-direction:column;gap:2px;min-width:0;display:flex}.new-menu-title{font-size:13.5px;font-weight:600}.new-menu-desc{color:var(--text-muted);font-size:12px}.view-toggle{border:1px solid var(--border);background:var(--panel-bg);border-radius:999px;display:inline-flex;overflow:hidden}.view-toggle button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;padding:6px 12px;display:inline-flex}.view-toggle button.is-active{color:var(--accent,#5a6ef0);background:#0e8a5f1f}.item-name{align-items:center;gap:8px;min-width:0;display:inline-flex}.item-icon{flex-shrink:0;font-size:16px}.folder-count-badge{color:var(--text-muted);background:#0000000f;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.contract-table tr.folder-row{background:#0e8a5f08;font-weight:500}.cell-muted{color:var(--text-muted)}.item-actions{visibility:hidden;gap:2px;display:inline-flex}tr:hover .item-actions,.item-card:hover .item-actions,.item-actions:focus-within{visibility:visible}.item-actions button{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:5px;padding:3px 5px;font-size:13px;line-height:1}.item-actions button:hover{background:#00000014}.item-actions button.danger{color:#c0392b;visibility:visible;background:#c0392b1a;font-size:12px;font-weight:600}.folder-inline-form{align-items:center;gap:4px;display:inline-flex}.folder-inline-form input{border:1px solid var(--accent,#5a6ef0);border-radius:8px;outline:none;width:180px;padding:5px 9px;font-family:inherit;font-size:13px}.folder-inline-form button{cursor:pointer;background:#0000000f;border:none;border-radius:6px;width:26px;height:26px;font-size:13px;line-height:1}.folder-inline-form button:hover{background:#0000001f}tr.dragging,.item-card.dragging{opacity:.4}.contract-table tr.folder-row.drag-over,.item-card.folder-card.drag-over{border-color:var(--accent,#5a6ef0);box-shadow:inset 0 0 0 2px var(--accent,#5a6ef0);background:#0e8a5f1f}.breadcrumb-link.drag-over{color:var(--accent,#5a6ef0);outline:2px dashed var(--accent,#5a6ef0);outline-offset:4px;border-radius:4px}.drag-hint{color:var(--accent,#5a6ef0);margin:8px 0 0;font-size:12px}.contract-table tr[draggable=true]{cursor:grab}.template-panel{border:1px solid var(--border);background:#0e8a5f08;border-radius:14px;margin-top:14px;padding:14px 16px 16px}.template-panel-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.template-panel-head h3{margin:0;font-size:15px}.template-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.template-card{border:1px solid var(--border);background:var(--panel-bg);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.template-card-head{justify-content:space-between;align-items:center;display:flex}.template-card .item-card-name{font-size:13.5px}.template-use-btn{align-self:flex-start;margin-top:4px}.template-card:hover .template-actions{visibility:visible}.item-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:16px;display:grid}.item-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-bg);cursor:pointer;box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:15px;transition:box-shadow .16s,border-color .16s,transform .16s;display:flex}.item-card:hover{border-color:var(--jade);box-shadow:var(--shadow-md);transform:translateY(-2px)}.item-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.item-card-icon{font-size:28px;line-height:1}.item-card-name{text-overflow:ellipsis;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:14px;font-weight:600;display:-webkit-box;overflow:hidden}.item-card-meta{color:var(--text-muted);font-size:12px}.item-card .folder-select{max-width:120px}.detail-header{background:var(--panel-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.detail-header .back-link{color:var(--text-muted);font-size:14px;text-decoration:none}.detail-header h2{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:16px;overflow:hidden}.save-status{text-align:center;flex-shrink:0;width:24px;font-size:13px}.save-status-saved{color:#27ae60}.save-status-saving{color:var(--text-muted);animation:1s ease-in-out infinite save-pulse}.save-status-error{color:#c0392b}@keyframes save-pulse{50%{opacity:.3}}.detail-layout{flex:1;grid-template-rows:1fr auto;grid-template-columns:1fr 300px;gap:0;min-height:0;display:grid}.editor-region{border-right:1px solid var(--border);grid-area:1/1;padding:0 24px 24px;overflow-y:auto}.comments-region{border-bottom:1px solid var(--border);background:var(--panel-bg);grid-area:1/2;overflow-y:auto}.versions-region{background:var(--panel-bg);grid-area:2/2;max-height:45vh;overflow-y:auto}.detail-layout{grid-template-rows:1fr auto auto}.versions-region{grid-row:1/span 2;max-height:none}.detail-layout.no-versions{grid-template-columns:1fr}.detail-layout.no-versions .editor-region{border-right:none}.detail-layout.with-ai{grid-template-columns:1fr 300px 340px}.detail-layout.no-versions.with-ai{grid-template-columns:1fr 340px}.detail-layout.with-ai .editor-region,.detail-layout.no-versions.with-ai .editor-region{border-right:1px solid var(--border)}.ai-region{background:var(--panel-bg);border-left:1px solid var(--border);flex-direction:column;grid-area:1/3/span 2;min-height:0;display:flex}.detail-layout.no-versions .ai-region{grid-column:2}.editor-canvas{position:relative}.comments-margin-layer{pointer-events:none;position:absolute;inset:0}.margin-comment-card{pointer-events:auto;background:var(--panel-bg);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:10px 12px;font-size:13px;transition:top .15s,box-shadow .15s;position:absolute;box-shadow:0 2px 10px #00000014}.margin-comment-card:hover{box-shadow:0 4px 16px #00000024}.margin-comment-card.active{border-color:var(--accent);box-shadow:0 4px 16px #0e8a5f40}.margin-comment-card.resolved{opacity:.55}.margin-comment-head{align-items:center;gap:8px;margin-bottom:6px;display:flex}.margin-comment-avatar{background:var(--accent,#5a6ef0);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:inline-flex}.margin-comment-meta{flex:1;min-width:0}.margin-comment-author{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.margin-comment-time{color:var(--text-muted);font-size:11px}.margin-comment-badge{color:#27ae60;background:#27ae601a;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:600}.margin-comment-body{white-space:pre-wrap;word-break:break-word;margin-bottom:8px}.margin-comment-actions{gap:6px;display:flex}.margin-comment-actions button{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px}.margin-comment-actions button:hover{background:#0000000d}.margin-comment-actions button.danger{color:#c0392b}.detail-header .header-actions{flex-shrink:0;gap:8px;display:flex}.detail-header .header-actions .btn.is-active{border-color:var(--accent,#5a6ef0);color:var(--accent,#5a6ef0);background:#0e8a5f14}@media (width<=900px){.detail-layout{display:block}.editor-region,.comments-region,.versions-region{border:none;border-bottom:1px solid var(--border)}.ai-region{border-left:none;border-bottom:1px solid var(--border);height:60vh}}.panel-heading{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.panel-heading h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0;font-size:13px}:root{--page-width:794px}.editor-toolbar{z-index:25;-webkit-backdrop-filter:blur(12px)saturate(1.4);background:#ffffffa6;border:1px solid #00000014;border-radius:999px;align-items:center;gap:2px;width:calc(100% + 32px);margin:0 -16px;padding:5px 12px;display:flex;position:sticky;top:0;box-shadow:0 6px 24px #0000001f}.editor-toolbar button{color:#3f4450;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.editor-toolbar button:hover{background:#0000000f}.editor-toolbar button.is-active{background:var(--accent-bg);color:var(--accent)}.toolbar-divider{background:#0000001f;flex-shrink:0;width:1px;height:20px;margin:0 4px}.editor-toolbar .save-status{margin-left:auto}.toolbar-dropdown{display:inline-block;position:relative}.toolbar-dropdown-list{z-index:30;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:90px;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #0000001f}.editor-toolbar .table-menu-dropdown button{text-align:left;width:100%;height:auto;display:block}.editor-toolbar .toolbar-dropdown-list button,.toolbar-dropdown-item{text-align:center;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;height:auto;padding:6px 10px;font-size:13px;display:block}.toolbar-dropdown-item:hover{background:#0000000d}.editor-toolbar button.font-family-trigger{white-space:nowrap;text-overflow:ellipsis;width:auto;max-width:140px;padding:0 10px;font-size:13px;line-height:32px;display:inline-block;overflow:hidden}.editor-toolbar button.font-size-trigger{width:auto;min-width:38px;padding:0 8px;font-size:13px}.font-family-list{min-width:180px;max-height:300px;overflow-y:auto}.font-family-list .toolbar-dropdown-item{text-align:left}.toolbar-dropdown-item.is-current{color:var(--accent);font-weight:600}.tiptap-wrapper{background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius);min-height:1000px;width:var(--page-width);box-sizing:border-box;max-width:100%;margin:16px auto 0;padding:64px 76px;box-shadow:0 2px 12px #0000000f}.ProseMirror{outline:none;min-height:380px;font-size:15px;line-height:1.15}.line-height-select{border:1px solid var(--border);background:var(--panel-bg);border-radius:6px;padding:4px 6px;font-size:13px}.ai-panel-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ai-panel-head h3{font-family:var(--display);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:700;display:flex}.ai-mark{border-radius:7px;width:22px;height:22px;font-size:12px}.ai-panel-actions{align-items:center;gap:4px;display:flex}.ai-close,.ai-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:20px;line-height:1}.ai-clear{font-size:14px}.ai-clear:disabled{opacity:.4;cursor:default}.ai-close:hover,.ai-clear:hover:not(:disabled){background:#0000000f}.ai-messages{flex-direction:column;flex:1;gap:10px;padding:14px;display:flex;overflow-y:auto}.ai-empty{color:var(--text-muted);padding:8px 4px;font-size:13px;line-height:1.5}.ai-bubble{border-radius:12px;max-width:90%;padding:8px 12px;font-size:13px;line-height:1.5}.ai-bubble-text{word-break:break-word}.ai-bubble.user .ai-bubble-text{white-space:pre-wrap}.ai-bubble-text>:first-child{margin-top:0}.ai-bubble-text>:last-child{margin-bottom:0}.ai-bubble-text p,.ai-bubble-text ul,.ai-bubble-text ol,.ai-bubble-text blockquote,.ai-bubble-text pre,.ai-bubble-text table{margin:6px 0}.ai-bubble-text ul,.ai-bubble-text ol{padding-left:18px}.ai-bubble-text li{margin:2px 0}.ai-bubble-text h1,.ai-bubble-text h2,.ai-bubble-text h3,.ai-bubble-text h4{margin:10px 0 4px;font-size:13px}.ai-bubble-text blockquote{color:var(--text-muted);border-left:3px solid #00000026;padding-left:10px}.ai-bubble-text code{background:#00000012;border-radius:4px;padding:1px 4px;font-size:12px}.ai-bubble-text pre{background:#00000012;border-radius:8px;padding:8px 10px;overflow-x:auto}.ai-bubble-text pre code{background:0 0;padding:0}.ai-bubble-text table{border-collapse:collapse;font-size:12px}.ai-bubble-text th,.ai-bubble-text td{border:1px solid var(--border);text-align:left;padding:4px 8px}.ai-bubble.user{background:var(--jade);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.ai-bubble.assistant{background:var(--canvas);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.ai-edit-badge{color:var(--jade-ink);background:var(--jade-soft);border-radius:999px;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.ai-typing{align-items:center;gap:4px;padding:12px;display:inline-flex}.ai-typing span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite ai-typing-bounce}.ai-typing span:nth-child(2){animation-delay:.15s}.ai-typing span:nth-child(3){animation-delay:.3s}@keyframes ai-typing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.ai-error{color:#c0392b;background:#c0392b14;border-radius:8px;padding:8px 10px;font-size:12px}.ai-input-box{border:1px solid var(--border);background:var(--panel-bg);border-radius:24px;flex-direction:column;flex-shrink:0;gap:6px;margin:8px 12px 12px;padding:12px 12px 10px 16px;display:flex}.ai-input-box:focus-within{border-color:var(--accent,#5a6ef0)}.ai-input-box textarea{resize:none;background:0 0;border:none;outline:none;padding:2px 0;font-family:inherit;font-size:14px;line-height:1.45}.ai-input-actions{justify-content:flex-end;display:flex}.ai-send{color:#5f6368;cursor:pointer;background:#0000000f;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s,color .15s;display:inline-flex}.ai-send:not(:disabled){background:var(--accent,#5a6ef0);color:#fff}.ai-send:not(:disabled):hover{filter:brightness(1.08)}.ai-send:disabled{cursor:default}.table-menu{display:inline-block;position:relative}.table-menu-dropdown{z-index:30;background:var(--panel-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:180px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 20px #0000001f}.table-menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:13px}.table-menu-item:hover:not(:disabled){background:#0000000d}.table-menu-item:disabled{opacity:.4;cursor:default}.table-menu-item.danger{color:#c0392b}.table-menu-divider{background:var(--border);height:1px;margin:4px 6px}.ProseMirror table[data-align=center],.readonly-content table[data-align=center]{margin-left:auto;margin-right:auto}.ProseMirror table[data-align=right],.readonly-content table[data-align=right]{margin-left:auto;margin-right:0}.ProseMirror .selectedCell{position:relative}.ProseMirror .selectedCell:after{content:"";pointer-events:none;background:#0e8a5f26;position:absolute;inset:0}.ProseMirror p{margin:0 0 12px}.ProseMirror table{border-collapse:collapse;margin:12px 0}.ProseMirror table td,.ProseMirror table th{border:1px solid var(--border);padding:6px 10px}.comment-mark{cursor:pointer;background:#fff3b0;border-bottom:2px solid #e6c200}.comment-mark.comment-mark-active{background:#ffe08a;border-bottom-color:#c99700}.readonly-content .comment-mark{cursor:inherit;background:0 0;border-bottom:none}.placeholder-field{cursor:pointer;background:#fbe3c0;border-radius:3px;padding:0 3px;transition:background .12s}.ProseMirror .placeholder-field:hover{background:#f6cf94}.readonly-content .placeholder-field{cursor:inherit}.field-fill-dialog{background:var(--panel-bg);border-radius:14px;width:560px;max-width:calc(100vw - 48px);padding:20px 24px 0;box-shadow:0 18px 50px #00000040}.field-fill-title{margin:0 0 14px;font-size:20px}.field-fill-input{border:1.5px solid var(--border);border-radius:10px;width:100%;margin-bottom:14px;padding:12px 14px;font-size:15px}.field-fill-input:focus{border-color:var(--accent);outline:none}.field-fill-nav{justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;display:flex}.field-fill-nav-left,.field-fill-nav-right{gap:8px;display:flex}.btn-plain{background:0 0;border:none}.field-fill-hints{border-top:1px solid var(--border);color:var(--text-muted);gap:18px;padding:10px 0;font-size:12px;display:flex}.field-fill-hints kbd{border:1px solid var(--border);background:#f1f2f4;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:11px}.selection-popup{z-index:50;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius);padding:6px;position:fixed;box-shadow:0 8px 24px #0000001f}.comment-form-popup{z-index:51;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius);width:280px;padding:14px;position:fixed;box-shadow:0 8px 24px #00000026}.comment-form-popup label{color:var(--text-muted);margin-top:10px;margin-bottom:4px;font-size:12px;display:block}.comment-form-popup label:first-of-type{margin-top:0}.comment-form-popup input,.comment-form-popup textarea{border:1px solid var(--border);border-radius:6px;width:100%;padding:6px 8px;font-size:13px}.comment-form-popup textarea{resize:vertical;min-height:60px}.comment-form-author{color:var(--text-muted);align-items:center;gap:8px;margin-top:10px;font-size:12px;display:flex}.comment-form-author strong{color:var(--ink)}.comment-form-avatar{background:var(--jade-soft);width:22px;height:22px;color:var(--jade-ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.comment-form-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.comment-list{flex-direction:column;gap:10px;margin:0;padding:0 12px 12px;list-style:none;display:flex}.comment-card{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fffef7;padding:10px 12px}.comment-card.resolved{opacity:.75;background:#f5f6f7}.comment-card-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.comment-author{font-size:13px;font-weight:600}.comment-time{color:var(--text-muted);font-size:11px}.comment-text{white-space:pre-wrap;word-break:break-word;margin:0 0 8px;font-size:13px}.comment-actions{gap:6px;display:flex}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.badge-resolved{color:var(--success);background:#dcfce7}.badge-unresolved{color:#92400e;background:#fef3c7}.empty-hint{color:var(--text-muted);padding:12px 16px;font-size:13px}.versions-region{flex-direction:column;display:flex}.version-list{flex-direction:column;flex:1;gap:8px;min-height:0;margin:0;padding:0 12px 12px;list-style:none;display:flex;overflow-y:auto}.version-item{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:8px 10px;font-size:13px}.version-item:hover{border-color:var(--accent)}.version-item.selected{border-color:var(--accent);background:var(--accent-bg,#0e8a5f14)}.version-current-tag{color:#27ae60;margin-top:4px;font-size:11px;font-weight:600}.version-item-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.version-label{font-weight:500}.version-time{color:var(--text-muted);margin-top:2px;font-size:11px}.badge-upload{color:#3730a3;background:#e0e7ff}.badge-manual_save{color:#334155;background:#f1f5f9}.new-version-form{gap:6px;padding:0 16px 16px;display:flex}.new-version-form-bottom{border-top:1px solid var(--border);flex-shrink:0;margin-top:auto;padding:12px 16px}.version-preview-banner{z-index:25;width:var(--page-width);background:#fff8e6;border:1px solid #f0d9a8;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:100%;margin:0 auto 12px;padding:10px 16px;font-size:13px;display:flex;position:sticky;top:0;box-shadow:0 4px 14px #00000014}.version-preview-actions{flex-shrink:0;gap:8px;display:flex}.version-preview .tiptap-wrapper{margin-top:0}.show-changes-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;margin-top:auto;padding:10px 16px;font-size:13px;display:flex}.show-changes-toggle+.new-version-form-bottom{margin-top:0}.version-diff-html ins{background:#2ea04329;border-radius:2px;text-decoration:none}.version-diff-html del{color:#b3261e;background:#f851491f;border-radius:2px;text-decoration:line-through}.version-diff-html ins img,.version-diff-html del img{outline:2px solid #2ea04380}.diff-no-changes{color:var(--text-muted);margin-top:0}.new-version-form input{border:1px solid var(--border);border-radius:8px;flex:1;min-width:0;padding:10px 12px;font-size:13px}.save-version-btn{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{background:var(--panel-bg);border-radius:var(--radius);flex-direction:column;width:min(720px,100%);max-height:85vh;display:flex;overflow:hidden}.modal-box.template-save-modal{width:min(460px,100%)}.template-save-modal .field-fill-input{margin-bottom:8px}.template-save-modal .settings-hint{margin:0}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.modal-header h3{margin:0;font-size:15px}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.readonly-content{font-size:14px;line-height:1.6}.readonly-content p{margin:0 0 12px}.field-label{color:var(--text-muted);font-size:12px}.claude-snippet pre,.mcp-snippet pre,pre.code-block,.key-prefix{font-family:var(--mono)}.detail-notice{flex:none;padding:12px 24px 0}.conflict-banner{color:#7a5d00;border-radius:var(--radius-sm);background:#fdf6e3;border:1px solid #e6c15a;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 14px;font-size:14px;display:flex}.share-modal{width:min(760px,100%)}.share-create-form{border:1px solid var(--border);border-radius:var(--radius);background:var(--canvas);flex-direction:column;gap:12px;margin-bottom:18px;padding:16px;display:flex}.share-form-row{align-items:flex-end;gap:12px;display:flex}.share-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.share-field-narrow{flex:0 0 180px}.share-field select,.share-field input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);padding:8px 10px;font-size:14px}.share-form-submit{flex:1;justify-content:flex-end;display:flex}.share-created-banner{border:1px solid var(--jade);background:var(--jade-soft);border-radius:var(--radius);margin-bottom:18px;padding:14px 16px;font-size:14px}.share-link-row{align-items:center;gap:8px;margin:8px 0;display:flex}.share-link{font-family:var(--mono);background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;flex:1;padding:7px 10px;font-size:12px;overflow-x:auto}.share-passcode-note{margin-top:6px}.share-passcode{font-family:var(--mono);letter-spacing:.08em;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px 8px;font-weight:700}.share-list-title{margin:4px 0 10px;font-size:14px}.share-table .share-sub{color:var(--text-muted);font-size:12px}.share-row-inactive{opacity:.6}.share-actions-cell{white-space:nowrap;justify-content:flex-end;gap:6px;display:flex}.share-status{border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.share-status-active{color:var(--jade-ink);background:var(--jade-soft)}.share-status-revoked{color:var(--danger);background:var(--danger-bg)}.share-status-expired{color:var(--slate);background:#0000000f}.share-gate-page{background:radial-gradient(1100px 480px at 15% -10%, #0e8a5f1a, transparent 60%), radial-gradient(900px 420px at 100% 110%, #12b3a01a, transparent 55%), var(--canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.share-gate-card{background:var(--panel-bg);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-lg);border-radius:20px;padding:36px 34px 26px}.share-gate-intro{text-align:center;margin-bottom:22px}.share-gate-doc{font-family:var(--display);margin:0 0 4px;font-size:18px;font-weight:600}.share-gate-hint{color:var(--text-muted);margin:2px 0 4px;font-size:13px}.share-gate-notice{color:var(--jade-ink);background:var(--jade-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.share-gate-message{text-align:center;color:var(--text-muted);margin:8px 0 0}.share-gate-link{color:var(--jade);cursor:pointer;background:0 0;border:none;align-self:center;padding:4px;font-size:13px}.share-guest-header{justify-content:space-between}.share-guest-brand{align-items:center;gap:10px;min-width:0;display:flex}.share-guest-brand h2{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.share-guest-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.share-guest-badge{color:var(--jade-ink);background:var(--jade-soft);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600}.share-guest-name{color:var(--text-muted);font-size:13px}@media (width<=640px){.share-form-row{flex-direction:column;align-items:stretch}.share-field-narrow{flex:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
