.property-panel{max-height:500px;overflow-y:auto;border:1px solid #ddd;border-radius:4px;background-color:#fff}.property-panel.empty{opacity:.6}.property-panel.contractHeading{border-left:4px solid #2196f3}.property-panel.contractParagraph{border-left:4px solid #4caf50}.property-panel.signatureBlock{border-left:4px solid #9c27b0}.property-panel.dateField{border-left:4px solid #ff9800}.property-panel .MuiCardHeader-root{padding:1rem;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0}.property-panel .MuiCardContent-root{padding:1rem}.property-panel .MuiFormControl-root,.property-panel .MuiTextField-root{margin-bottom:1rem}.property-panel .MuiFormLabel-root{font-size:.875rem;font-weight:600;color:#333;margin-bottom:.5rem;display:block}.property-panel .MuiSelect-root{font-size:.95rem}.property-panel .MuiChip-root{margin-right:.5rem;margin-bottom:.5rem}.property-panel .property-value{padding:.5rem;background-color:#f9f9f9;border-left:2px solid #ddd;border-radius:2px;font-family:Courier New,monospace;font-size:.875rem;word-break:break-word}.property-panel .tag-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.property-panel .tag{display:inline-block;background-color:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;border:1px solid #1976d2}.property-panel.collapsed{max-height:60px}.property-panel.collapsed .MuiCardContent-root{display:none}@media(max-width:768px){.property-panel{max-height:none;margin-top:1rem}.property-panel .MuiCardHeader-root,.property-panel .MuiCardContent-root{padding:.75rem}}.contract-list-panel{max-height:600px;display:flex;flex-direction:column;border:1px solid #ddd;border-radius:4px;background-color:#fff;overflow:hidden}.contract-list-panel .MuiCardHeader-root{padding:1rem;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0}.contract-list-panel .MuiCardContent-root{padding:0;flex:1;overflow-y:auto}.contract-list-panel .MuiList-root{width:100%}.contract-list-panel .MuiListItem-root{padding:0}.contract-list-panel .MuiListItem-root.selected{background-color:#e3f2fd}.contract-list-panel .MuiListItemButton-root{padding:.75rem 1rem;border-radius:0;transition:background-color .2s}.contract-list-panel .MuiListItemButton-root:hover{background-color:#f5f5f5}.contract-list-panel .MuiListItemButton-root.selected{background-color:#e3f2fd;border-left:4px solid #1976d2;padding-left:calc(1rem - 4px)}.contract-list-panel .MuiListItemText-primary{font-weight:500;color:#333;font-size:.95rem}.contract-list-panel .MuiListItemText-secondary{font-size:.8rem;color:#999}.contract-list-panel .MuiIconButton-root{color:#666;padding:.5rem;margin-right:.5rem}.contract-list-panel .MuiIconButton-root:hover{color:#f44336;background-color:transparent}.contract-list-panel .MuiAlert-root{margin-bottom:1rem;border-radius:4px}.contract-list-panel .MuiButton-root{text-transform:none}.contract-list-panel .MuiButton-contained{background-color:#4caf50}.contract-list-panel .MuiButton-contained:hover{background-color:#45a049}.MuiDialog-root .MuiTextField-root{margin-top:1rem}.contract-list-panel .empty-state{padding:2rem 1rem;text-align:center;color:#999;font-size:.95rem}.contract-list-panel .loading-state{display:flex;justify-content:center;align-items:center;padding:2rem;min-height:200px}.contract-list-panel .loading-state .MuiCircularProgress-root{color:#1976d2}@media(max-width:768px){.contract-list-panel{max-height:400px}.contract-list-panel .MuiListItemButton-root{padding:.5rem}.contract-list-panel .MuiListItemText-primary{font-size:.9rem}.contract-list-panel .MuiIconButton-root{padding:.35rem;margin-right:.25rem}}.contract-list-panel .MuiDivider-root{margin:0}.left-sidebar-tabs{display:flex;flex-direction:column;height:100%;background-color:#fafafa;border-radius:4px;overflow:hidden;box-shadow:0 2px 4px #0000000d}.left-sidebar-tabs .MuiTabs-root{flex-shrink:0;background-color:#f5f5f5}.left-sidebar-tabs .MuiTab-root{flex:1;text-transform:none;font-weight:500;color:#666;transition:all .2s ease}.left-sidebar-tabs .MuiTab-root:hover{color:#1976d2;background-color:#1976d20a}.left-sidebar-tabs .MuiTab-root.Mui-selected{color:#1976d2;background-color:#1976d214}.left-sidebar-tabs .MuiTabs-indicator{background-color:#1976d2;height:3px}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:.8}to{opacity:1}}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#f1f1f1}.sidebar-content::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#999}@media(max-width:1200px){.left-sidebar-tabs .MuiTab-root{font-size:.75rem;padding:6px}.left-sidebar-tabs .MuiTab-icon{margin-bottom:2px;margin-right:2px}}@media(max-width:768px){.left-sidebar-tabs .MuiTab-root{padding:4px;font-size:.7rem}.left-sidebar-tabs .MuiTab-icon{display:none}}.contract-heading-wrapper{position:relative;margin:1.5rem 0 1rem;padding:.5rem;border-left:4px solid #ccc;transition:all .2s ease}.contract-heading-wrapper:hover{background-color:#f5f5f5}.contract-heading-wrapper.selected{background-color:#e3f2fd;border-left-color:#1976d2;box-shadow:inset 0 0 0 1px #1976d2}.contract-heading-wrapper.section-preamble{border-left-color:#2196f3}.contract-heading-wrapper.section-recitals{border-left-color:#4caf50}.contract-heading-wrapper.section-definitions{border-left-color:#ff9800}.contract-heading-wrapper.section-body{border-left-color:#757575}.contract-heading-wrapper.section-schedule{border-left-color:#9c27b0}.contract-heading-wrapper.section-appendix{border-left-color:#f44336}.contract-heading-wrapper.risk-low{background-color:#f1f8e9}.contract-heading-wrapper.risk-medium{background-color:#fff3e0}.contract-heading-wrapper.risk-high{background-color:#ffebee}.contract-heading-wrapper.risk-high.selected{background-color:#ffcdd2}.contract-heading-1{font-size:2rem;font-weight:700}.contract-heading-2{font-size:1.75rem;font-weight:700}.contract-heading-3{font-size:1.5rem;font-weight:700}.contract-heading-4{font-size:1.25rem;font-weight:700}.contract-heading-5{font-size:1.1rem;font-weight:700}.contract-heading-6{font-size:1rem;font-weight:700}.heading-content{outline:none;cursor:text}.heading-controls{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem;font-size:.875rem}.heading-controls select,.heading-controls input{padding:.25rem;border:1px solid #ccc;border-radius:2px}.contract-paragraph{margin:.75rem 0;line-height:1.6;font-size:1rem}.contract-paragraph.clause-obligation{border-left:3px solid #2196f3;padding-left:1rem}.contract-paragraph.clause-warranty{border-left:3px solid #4caf50;padding-left:1rem}.contract-paragraph.clause-indemnity{border-left:3px solid #ff9800;padding-left:1rem}.contract-paragraph.clause-termination{border-left:3px solid #f44336;padding-left:1rem}.contract-paragraph.clause-general{border-left:3px solid #999;padding-left:1rem}.contract-paragraph.clause-other{border-left:3px solid #666;padding-left:1rem}.contract-paragraph.highlighted{background-color:#fff8e1;padding:.5rem;border-radius:2px}.contract-paragraph.has-parties{position:relative}.party-tag{display:inline-block;background-color:#e1f5fe;color:#01579b;padding:.125rem .5rem;border-radius:12px;font-size:.875rem;margin-right:.25rem;font-weight:500}.contract-paragraph.has-definitions{position:relative}.definition-tag{display:inline-block;background-color:#f3e5f5;color:#4a148c;padding:.125rem .5rem;border-radius:12px;font-size:.875rem;margin-right:.25rem;font-weight:500;text-decoration:underline;text-decoration-color:#9c27b0;text-decoration-style:dotted}mark.party-reference{background-color:#e1f5fe;color:inherit;padding:0 .25rem;font-weight:500}mark.definition-reference{background-color:#f3e5f5;color:inherit;padding:0 .25rem;font-weight:500;text-decoration:underline;text-decoration-color:#9c27b0}.signature-block{margin:2rem 0;padding:1rem;border:1px solid #ccc;border-radius:4px;background-color:#fafafa;page-break-inside:avoid}.signature-block:hover{background-color:#f5f5f5;box-shadow:0 2px 4px #0000001a}.signature-block.signed{border-color:#4caf50;background-color:#f1f8e9}.signature-block-content{display:flex;flex-direction:column;gap:.5rem}.party-name{font-weight:700;font-size:1.1rem;text-align:center}.party-role{font-size:.95rem;color:#666;text-align:center;margin-bottom:.5rem}.signature-line{border-bottom:1px solid #333;height:2rem;text-align:center;font-size:.875rem;color:#999;position:relative;margin:.5rem 0}.signature-line:after{content:"Signature";position:absolute;top:-1.75rem;left:50%;transform:translate(-50%);font-size:.75rem;color:#999;font-style:italic}.signature-date{text-align:center;font-size:.95rem;margin-top:.5rem}.signature-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:2rem 0}@media print{.signature-block{border:none;background-color:#fff;margin:1.5rem 0}.signature-block-content{min-height:150px;justify-content:space-between}}span[data-date-field]{position:relative;background-color:#fff9c4;color:inherit;padding:.125rem .25rem;border-radius:2px;border-bottom:2px dashed #f57f17;cursor:pointer;transition:background-color .2s}span[data-date-field]:hover{background-color:#fff176;border-bottom-color:#f57f17}span[data-date-field]:focus{outline:none;background-color:#ffee58;box-shadow:0 0 0 2px #f57f17}span[data-date-type=execution]{border-bottom-color:#2196f3}span[data-date-type=execution]:hover{background-color:#e3f2fd}span[data-date-type=effective]{border-bottom-color:#4caf50}span[data-date-type=effective]:hover{background-color:#e8f5e9}span[data-date-type=expiry]{border-bottom-color:#f44336}span[data-date-type=expiry]:hover{background-color:#ffebee}span[data-date-type=notice]{border-bottom-color:#ff9800}span[data-date-type=notice]:hover{background-color:#fff3e0}span[data-date-type=other]{border-bottom-color:#9c27b0}span[data-date-type=other]:hover{background-color:#f3e5f5}span[data-date-field]:before{content:attr(data-date-type);position:absolute;bottom:-1.5rem;left:0;background-color:#333;color:#fff;padding:.25rem .5rem;border-radius:2px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;z-index:1000;text-transform:capitalize}span[data-date-field]:hover:before{opacity:1}span[data-date-field]:after{content:"📅";position:absolute;right:-1.25rem;top:0;font-size:.9rem;opacity:0;transition:opacity .2s}span[data-date-field]:hover:after{opacity:.6}@media print{span[data-date-field]{background-color:#fff;border-bottom:1px solid #999}span[data-date-field]:before,span[data-date-field]:after{display:none}}.clause-block{margin:1.5em 0;padding:1em 1.2em;border-left:4px solid #2196f3;background-color:#e3f2fd;border-radius:4px}.clause-block.clause-type-general{border-left-color:#2196f3;background-color:#e3f2fd}.clause-block.clause-type-payment{border-left-color:#4caf50;background-color:#e8f5e9}.clause-block.clause-type-termination{border-left-color:#f44336;background-color:#ffebee}.clause-block.clause-type-liability{border-left-color:#ff9800;background-color:#fff3e0}.clause-block.clause-type-confidentiality{border-left-color:#9c27b0;background-color:#f3e5f5}.clause-block .clause-title{font-weight:600;font-size:1.05em;margin-bottom:.5em;color:#1976d2}.clause-block .clause-content{line-height:1.7}.clause-block:hover{box-shadow:0 2px 4px #0000001a}.definition-block{margin:1.5em 0;padding:1em 1.2em;border-left:4px solid #00bcd4;background-color:#e0f7fa;border-radius:4px}.definition-block .definition-header{font-weight:600;margin-bottom:.5em;display:flex;align-items:center;gap:.5em;color:#006064}.definition-block .definition-icon{font-size:1.2em}.definition-block .definition-term{color:#00838f;font-size:1.05em}.definition-block .definition-content{line-height:1.7;padding-left:1.5em}.definition-block:hover{box-shadow:0 2px 4px #0000001a;background-color:#b2ebf2}.recital-block{margin:1.5em 0;padding:1em 1.2em;border-left:4px solid #673ab7;background-color:#ede7f6;border-radius:4px;font-style:italic}.recital-block .recital-prefix{font-weight:700;font-size:.95em;letter-spacing:.05em;color:#4527a0;margin-bottom:.5em;font-style:normal}.recital-block .recital-content{line-height:1.7;padding-left:1.5em}.recital-block.recital-type-recital{border-left-color:#5e35b1}.recital-block:hover{box-shadow:0 2px 4px #0000001a;background-color:#d1c4e9}.schedule-block{margin:2em 0;padding:1.5em;border:2px solid #607d8b;background-color:#eceff1;border-radius:4px}.schedule-block .schedule-header{display:flex;align-items:center;gap:.5em;margin-bottom:.8em}.schedule-block .schedule-icon{font-size:1.3em}.schedule-block .schedule-label{font-size:1.1em;font-weight:700;letter-spacing:.03em;color:#37474f;text-transform:uppercase}.schedule-block .schedule-divider{height:2px;background:linear-gradient(to right,#607d8b,transparent);margin-bottom:1em}.schedule-block .schedule-content{line-height:1.7}.schedule-block.schedule-type-appendix{border-color:#455a64;background-color:#cfd8dc}.schedule-block:hover{box-shadow:0 3px 6px #0000001f}.editor-toolbar{background-color:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:.75rem;display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;position:sticky;top:0;z-index:100;box-shadow:0 2px 4px #0000001a}.editor-toolbar button{min-width:36px;height:36px;padding:0 .5rem;border:1px solid #ccc;border-radius:4px;background-color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.875rem}.editor-toolbar button:hover{background-color:#fffacd;border-color:#fd0}.editor-toolbar button:active{background-color:#ffeb3b}.editor-toolbar button.is-active{background-color:#2196f3;color:#fff;border-color:#1976d2}.editor-toolbar button:disabled{opacity:.5;cursor:not-allowed;color:#999}.editor-toolbar button svg{width:18px;height:18px}.editor-toolbar .MuiButtonGroup-root{display:flex;border-radius:4px;overflow:hidden}.editor-toolbar .MuiFormControl-root{min-width:120px}.editor-toolbar .MuiSelect-root{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:.5rem}.editor-toolbar .MuiDivider-root{height:28px;margin:0 .5rem}@media(max-width:768px){.editor-toolbar{flex-direction:column;align-items:stretch}.editor-toolbar button,.editor-toolbar .MuiFormControl-root,.editor-toolbar .MuiButtonGroup-root{width:100%}.editor-toolbar .MuiDivider-root{display:none}}.editor-toolbar .MuiTooltip-popper{z-index:1300}.editor-toolbar .MuiTooltip-tooltip{background-color:#333;color:#fff;font-size:.75rem;padding:.5rem;border-radius:4px}.editor-container{display:flex;flex-direction:column;gap:1rem;height:100%}.editor-wrapper{flex:1;display:flex;flex-direction:column;overflow:auto;background-color:#fff;border-radius:4px}.editor-content{flex:1;overflow:auto;padding:2rem;line-height:1.8;font-size:1rem;font-family:Georgia,serif}.editor-footer{padding:1rem;border-top:1px solid #e0e0e0;background-color:#fafafa;font-size:.875rem;color:#666;display:flex;justify-content:space-between;align-items:center}.character-count{font-weight:500}.tiptap-editor-wrapper{width:100%}.ProseMirror{outline:none;white-space:pre-wrap;min-height:400px}.ProseMirror h1{font-size:2rem;font-weight:700;margin:1.5rem 0 1rem}.ProseMirror h2{font-size:1.75rem;font-weight:700;margin:1.25rem 0 .75rem}.ProseMirror h3{font-size:1.5rem;font-weight:700;margin:1rem 0 .5rem}.ProseMirror h4{font-size:1.25rem;font-weight:700;margin:.75rem 0 .25rem}.ProseMirror h5{font-size:1.1rem;font-weight:700;margin:.5rem 0}.ProseMirror h6{font-size:1rem;font-weight:700;margin:.5rem 0}.ProseMirror p{margin:.75rem 0}.ProseMirror ul,.ProseMirror ol{padding-left:2rem;margin:.75rem 0}.ProseMirror li{margin:.25rem 0}.ProseMirror blockquote{border-left:4px solid #999;color:#666;font-style:italic;padding-left:1rem;margin:1rem 0}.ProseMirror pre{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:1rem;overflow:auto;font-family:Courier New,monospace;font-size:.9rem;margin:1rem 0}.ProseMirror code{background:#f5f5f5;padding:.125rem .25rem;border-radius:2px;font-family:Courier New,monospace;font-size:.9rem}.ProseMirror pre code{background:none;padding:0;border-radius:0}.ProseMirror hr{border:none;border-top:1px solid #ccc;margin:1.5rem 0}.ProseMirror table{border-collapse:collapse;margin:1rem 0;width:100%;table-layout:auto}.ProseMirror table th,.ProseMirror table td{border:1px solid #999;padding:.75rem;text-align:left;vertical-align:top;position:relative}.ProseMirror table th{background-color:#f5f5f5;font-weight:700;color:#333}.ProseMirror table tr:last-child td{border-bottom:1px solid #999}.ProseMirror table thead th{border-bottom:2px solid #999}.ProseMirror table td.selected:after,.ProseMirror table th.selected:after{background-color:#007bff1a;content:"";inset:0;pointer-events:none;position:absolute}.ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:#007bff;cursor:col-resize;opacity:0;transition:opacity .2s}.ProseMirror table:hover .column-resize-handle{opacity:1}.ProseMirror .is-editor-empty:first-child:before{color:#adb5bd;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror .node-view{position:relative;border-radius:4px}.ProseMirror .node-view:before{content:"";position:absolute;left:-2rem;top:0;width:1.5rem;height:1.5rem;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="6" cy="6" r="1"/><circle cx="6" cy="12" r="1"/><circle cx="6" cy="18" r="1"/><circle cx="12" cy="6" r="1"/><circle cx="12" cy="12" r="1"/><circle cx="12" cy="18" r="1"/></svg>');background-size:contain;opacity:0;transition:opacity .2s;cursor:grab}.ProseMirror .node-view:hover:before{opacity:.5}@media(max-width:768px){.editor-content{padding:1rem}.ProseMirror{font-size:16px}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Roboto,Helvetica,Arial,sans-serif;background-color:#f5f5f5}#root{width:100%;height:100%}.app-container{display:flex;flex-direction:column;height:100vh;background-color:#f5f5f5}.app-content{flex:1;overflow:hidden;padding:1rem;display:flex;flex-direction:column}.main-layout{display:grid;grid-template-columns:300px 1fr 320px;gap:1rem;flex:1;overflow:hidden}.sidebar-left{overflow-y:auto;border-radius:4px}.main-editor{overflow:auto;border-radius:4px}.sidebar-right{overflow-y:auto;border-radius:4px}.app-footer{background-color:#f5f5f5;border-top:1px solid #ddd;padding:1rem;text-align:center;font-size:.875rem;color:#666}.sidebar-left::-webkit-scrollbar,.main-editor::-webkit-scrollbar,.sidebar-right::-webkit-scrollbar{width:8px}.sidebar-left::-webkit-scrollbar-track,.main-editor::-webkit-scrollbar-track,.sidebar-right::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.sidebar-left::-webkit-scrollbar-thumb,.main-editor::-webkit-scrollbar-thumb,.sidebar-right::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.sidebar-left::-webkit-scrollbar-thumb:hover,.main-editor::-webkit-scrollbar-thumb:hover,.sidebar-right::-webkit-scrollbar-thumb:hover{background:#555}@media(max-width:1200px){.main-layout{grid-template-columns:250px 1fr 280px;gap:.75rem}.app-content{padding:.75rem}}@media(max-width:768px){.main-layout{grid-template-columns:1fr;gap:.5rem}.sidebar-left,.sidebar-right{max-height:300px}.app-content{padding:.5rem;gap:.5rem}.app-footer{padding:.75rem;font-size:.75rem}}@media print{.app-container,.sidebar-left,.sidebar-right,.app-footer{display:none}.main-editor{height:auto;overflow:visible}}.main-editor,.sidebar-left,.sidebar-right{transition:all .3s ease}.app-loading{position:absolute;inset:0;background-color:#ffffffb3;display:flex;justify-content:center;align-items:center;z-index:9999}@media(prefers-reduced-motion:reduce){.main-editor,.sidebar-left,.sidebar-right{transition:none}}
