.contract-details-layout{grid-template-columns:minmax(300px,348px) minmax(0,1fr);align-items:start}.contract-key-details-panel{gap:13px;padding:18px}.contract-working-area{min-width:0;display:flex;flex-direction:column;gap:10px}.contract-workspace-panel{min-width:0;padding:0;overflow:visible;box-shadow:0 8px 24px rgba(31,35,40,.055)}.contract-record-tabs{min-height:45px;margin:0;padding:0 17px;gap:7px}.contract-record-tabs .record-tab{min-height:45px;padding-inline:6px}.contract-payment-overview{padding:20px 20px 24px}.contract-payment-kpi-row{display:flex;align-items:center;justify-content:space-between}.contract-payment-kpi{display:flex;align-items:baseline;gap:9px;margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.contract-payment-kpi strong{font-size:.94rem}.contract-payment-kpi span{color:#8c959f;font-size:.79rem}.contract-payment-kpi i{color:#c1c7ce;font-style:normal}.contract-payment-kpi em{color:#21854f;font-size:.79rem;font-style:normal;font-weight:600}.contract-payment-progress{height:4px;margin-top:10px;overflow:hidden;border-radius:999px;background:#eef0f3}.contract-payment-progress span{display:block;height:100%;border-radius:inherit;background:#2da566;transition:width .18s ease}.contract-payment-mismatch{margin:10px 0 0;color:#c53b3b;font-size:.76rem;line-height:1.4}.contract-payment-conversion-warning{margin:8px 20px 0;color:#8a6b1e;font-size:.7rem}.contract-calculation-warnings{display:grid;grid-gap:3px;gap:3px;margin:8px 0 0;padding-left:9px;border-left:2px solid #d8a643;color:#765f2f;font-size:.69rem}.contract-calculation-warnings p{margin:0}.contract-payment-mismatch:before{content:"△";margin-right:7px;font-size:.72rem}.contract-payment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:19px 0 5px}.contract-payment-detail-label,.contract-payment-toolbar>span{color:#8c959f;font-size:.68rem;font-weight:650;letter-spacing:.045em;text-transform:uppercase}.contract-add-payment-shell,.contract-row-actions-shell{position:relative}.contract-add-payment-button{min-height:29px;border-radius:7px;background:#f2f4f7;color:#3a3f47;font-size:.75rem;font-weight:600}.contract-add-payment-menu,.contract-row-actions{position:absolute;top:calc(100% + 5px);right:0;z-index:70;border:1px solid #e1e5ea;border-radius:10px;background:#fff;box-shadow:0 12px 34px rgba(20,26,40,.14);padding:5px}.contract-add-payment-menu{width:250px}.contract-add-payment-menu button{width:100%;border:0;border-radius:7px;background:transparent;color:#20242b;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:8px 10px;text-align:left}.contract-add-payment-menu button:hover:not(:disabled),.contract-row-actions button:hover{background:#f6f7f9}.contract-add-payment-menu button:disabled{cursor:not-allowed;opacity:.42}.contract-add-payment-menu strong{font-size:.78rem;font-weight:550}.contract-add-payment-menu span{color:#8c959f;font-size:.68rem}.contract-payment-table{min-width:0}.contract-payment-row,.contract-payment-table-header{display:grid;grid-template-columns:20px minmax(145px,1fr) 118px 105px 145px 98px 28px;align-items:center;grid-gap:2px;gap:2px}.contract-payment-table-header{min-height:28px;padding:0 4px;border-bottom:1px solid #e7eaee;color:#8c959f;font-size:.67rem}.contract-payment-table-header span:nth-child(4),.contract-payment-table-header span:nth-child(5){text-align:right}.contract-payment-row-shell{position:relative;border-bottom:1px solid #f0f2f4;transition:background-color .12s ease,opacity .12s ease}.contract-payment-row-shell[data-new=true]{background:#f6f8ff}.contract-payment-row-shell[data-cancelled=true]{opacity:.55}.contract-payment-row-shell[data-cancelled=true] .contract-payment-name-input{text-decoration:line-through}.contract-payment-row{min-height:43px;padding:3px 4px}.contract-payment-drag-handle,.contract-payment-expand,.contract-row-actions-trigger{border:0;background:transparent;color:#b8bec6;cursor:pointer;font:inherit;padding:3px}.contract-payment-drag-handle{cursor:-webkit-grab;cursor:grab;font-size:.92rem}.contract-payment-expand{flex:0 0 auto;font-size:1.1rem;line-height:1;transform:rotate(0deg);transition:transform .12s ease}.contract-payment-expand[aria-expanded=true]{transform:rotate(90deg)}.contract-payment-name-cell{min-width:0;display:flex;align-items:center;gap:4px}.contract-payment-cell-input.ui-input{min-width:0;min-height:29px;border-color:transparent;background:transparent;border-radius:6px;padding:5px 6px;font-size:.76rem}.contract-payment-cell-input.ui-input:focus,.contract-payment-cell-input.ui-input:hover{background:#f5f6f8}.contract-payment-cell-input.ui-input:focus{border-color:color-mix(in srgb,var(--accent) 46%,var(--border));background:#fff}.contract-payment-name-input{flex:1 1;font-weight:550}.contract-payment-money-input{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:400}.contract-payment-new{flex:0 0 auto;border-radius:5px;background:#e9edfb;color:#4a5fd0;font-size:.58rem;font-weight:650;padding:2px 5px}.contract-payment-changed{flex:0 0 6px;width:6px;height:6px;border-radius:999px;background:#e0a83b}.contract-payment-fact-cell{min-width:0;border:0;border-radius:6px;background:transparent;color:#20242b;cursor:pointer;display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:4px 6px;font:inherit;font-size:.71rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.contract-payment-fact-cell:hover{background:#f5f6f8}.contract-payment-fact-cell strong{color:#248a5a;font-size:.63rem}.contract-payment-add-fact{color:#b5bbc3}.contract-payment-status{min-width:0;display:flex;align-items:center;gap:6px;color:#66707d;font-size:.71rem;font-weight:520}.contract-payment-status i{width:7px;height:7px;flex:0 0 7px;border-radius:999px;background:#aab1ba}.contract-payment-status[data-tone=success]{color:#248a5a}.contract-payment-status[data-tone=success] i{background:#2fa36b}.contract-payment-status[data-tone=danger]{color:#c53b3b}.contract-payment-status[data-tone=danger] i{background:#d74b4b}.contract-payment-status[data-tone=info]{color:#4a5fd0}.contract-payment-status[data-tone=info] i{background:#7184d9}.contract-payment-status[data-tone=muted]{color:#a3a9b1}.contract-payment-status[data-tone=muted] i{background:#c3c7cf}.contract-row-actions-trigger{width:25px;height:25px;border-radius:6px;font-size:1rem}.contract-row-actions-trigger:hover{background:#f2f4f7;color:#5f6772}.contract-row-actions{width:174px}.contract-row-actions button{width:100%;border:0;border-radius:6px;background:transparent;color:#20242b;cursor:pointer;padding:8px 9px;text-align:left;font:inherit;font-size:.76rem}.contract-row-actions span[role=separator]{display:block;height:1px;margin:4px 0;background:#eef0f3}.contract-row-actions .contract-row-delete{color:#c53b3b}.contract-payment-expanded{display:flex;gap:30px;flex-wrap:wrap;padding:5px 10px 17px 48px}.contract-payment-expanded>div{min-width:185px;flex:1 1}.contract-payment-expanded .ui-input{min-height:30px;margin-top:6px;padding:6px 8px;font-size:.76rem}.contract-payment-expanded small{display:block;margin-top:7px;color:#8c959f;font-size:.68rem}.contract-payment-expanded p{margin:2px 0 6px;color:#4f5864;font-size:.72rem}.contract-tm-cap-editor{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;grid-gap:5px 8px;gap:5px 8px;margin-top:9px}.contract-tm-cap-editor .ui-label{padding:0;font-size:.66rem}.contract-tm-cap-editor select{width:100%;min-height:30px;border:1px solid #e0e3e8;border-radius:6px;background:#fff;color:#4f5864;font:inherit;font-size:.7rem;padding:4px 6px}.contract-tm-cap-editor .cost-field-row{margin:0}.contract-tm-cap-editor .ui-input{margin-top:0}.contract-tm-cap-editor small{grid-column:2;margin-top:0}.contract-tm-cap-editor small[data-exceeded=true]{color:#b4483f}.contract-payment-fact-entry{display:flex;align-items:center;justify-content:space-between;gap:8px}.contract-payment-fact-entry i{color:#8c959f;font-style:normal;font-weight:600}.contract-payment-fact-entry i[data-state=Confirmed]{color:#248a5a}.contract-payment-fact-actions{display:inline-flex;gap:3px;margin-left:auto}.contract-payment-fact-actions button{border:0;border-radius:5px;background:transparent;color:#7c8691;cursor:pointer;font:inherit;font-size:.65rem;padding:3px 5px}.contract-payment-fact-actions button:hover{background:#eef0f3;color:#3f4853}.contract-payment-empty,.contract-secondary-empty{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:7px;border:1px dashed #e0e4e9;border-radius:10px;padding:43px 18px;color:#59636e;text-align:center}.contract-payment-empty strong,.contract-secondary-empty strong{font-size:.82rem;font-weight:550}.contract-payment-empty span,.contract-secondary-empty span{color:#8c959f;font-size:.74rem}.contract-payment-empty .ui-button{margin-top:7px}.contract-deposite-return-warning{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;border:1px solid #f2e2bf;border-radius:9px;background:#fff8ec;color:#8a6d1f;padding:10px 13px;font-size:.74rem}.contract-deposite-return-warning p{margin:0}.contract-deposite-return-warning label{display:flex;align-items:center;gap:7px;cursor:pointer;font-weight:550}.contract-deposite-money-row,.contract-vat-row{display:flex;align-items:center;gap:10px}.contract-vat-row .ui-label{flex:0 0 auto;padding:0}.contract-vat-row .contract-percent-field{flex:0 0 72px}.contract-vat-amount-field{flex:1 1;min-width:0}.contract-vat-amount-field .ui-input{border:0;text-align:right}.contract-percent-field{display:flex;align-items:center}.contract-percent-field .ui-input{min-width:0;border:0;text-align:right}.contract-percent-field span{padding-right:8px;color:#8c959f;font-size:.72rem;font-weight:600}.contract-details-divider{height:1px;margin:1px 0;background:#eef0f3}.contract-money-fields{display:flex;flex-direction:column;gap:12px}.contract-legal-amount-lock{margin:-3px 0 0;color:#7b838c;font-size:.68rem;line-height:1.35}.contract-deposite-header{display:flex;align-items:center;gap:8px}.contract-deposite-header .contract-deposite-file-row{flex:1 1}.contract-deposite-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.78rem;font-weight:600}.contract-deposite-return-warning input,.contract-deposite-toggle input{accent-color:#198754}.contract-deposite-body{display:flex;flex-direction:column;gap:10px;margin:11px 0 0 23px}.contract-deposite-money-row .contract-percent-field{flex:0 0 82px}.contract-deposite-amount-field{flex:1 1;min-width:0}.contract-deposite-file-row{min-width:0;display:flex;align-items:center;gap:6px}.contract-deposite-file-add,.contract-deposite-file-link{min-width:0;overflow:hidden;border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:.74rem;font-weight:520;padding:0;text-overflow:ellipsis;white-space:nowrap}.contract-deposite-file-add:has(input:disabled){color:#aeb4bc;cursor:not-allowed}.contract-deposite-file-add input{display:none}.contract-deposite-analysis,.contract-deposite-proposal{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:7px;background:#f5f7fb;color:#626d79;font-size:.69rem}.contract-deposite-analysis button,.contract-deposite-proposal button{border:0;border-radius:5px;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:.68rem;padding:4px 6px}.contract-deposite-analysis button:disabled,.contract-deposite-proposal button:disabled{color:#aeb4bc;cursor:not-allowed}.contract-deposite-analysis-error{margin:0;color:#a34a42;font-size:.68rem}.contract-deposite-proposal>div{display:flex;flex-direction:column;gap:2px}.contract-deposite-proposal strong{color:#4d5865;font-size:.7rem}.contract-deposite-proposal small{color:#78838e;font-size:.65rem}.contract-deposite-proposal[data-mismatch=true]{background:#fff7ee}.contract-deposite-file-remove{color:#9aa1aa}.contract-deposite-return-date{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;grid-gap:7px;gap:7px}.contract-deposite-return-date .ui-label{padding:0}.contract-deposite-return-date .ui-input{min-height:30px;padding-block:5px}.contract-attachment-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65}.contract-files-popover{width:min(360px,calc(100vw - 48px))}.contract-conflict-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid #f0c4c7;border-radius:10px;background:#fff5f5;padding:10px 12px}.contract-conflict-banner p{display:flex;flex-direction:column;gap:2px;margin:0;font-size:.73rem}.contract-conflict-banner p span{color:#76545a}.contract-conflict-banner>div{display:flex;gap:6px}.contract-financial-loading{color:#8c959f;font-size:.78rem}.contract-payment-dialog-backdrop{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:rgba(18,24,38,.16)}.contract-payment-dialog{width:min(380px,calc(100vw - 32px));border:1px solid #e1e5ea;border-radius:13px;background:#fff;box-shadow:0 20px 54px rgba(20,26,40,.2);padding:18px 20px 20px}.contract-payment-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.contract-payment-dialog-header h2{margin:0;font-size:.94rem}.contract-payment-dialog-header span{display:block;margin-top:4px;color:#8c959f;font-size:.68rem}.contract-payment-dialog-header button,.contract-payment-secondary-allocation button{border:0;background:transparent;color:#9aa1aa;cursor:pointer;font:inherit;font-size:1rem}.contract-payment-dialog .form-field{gap:5px;margin-bottom:12px}.contract-payment-dialog .ui-label,.contract-payment-state-control legend{padding:0;color:#66707d;font-size:.7rem;font-weight:600}.contract-payment-dialog select{width:100%;min-height:34px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);padding:6px 8px;font:inherit;font-size:.78rem}.contract-payment-dialog small{color:#8c959f;font-size:.66rem}.contract-payment-dialog-money-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;grid-gap:10px;gap:10px}.contract-payment-state-control{margin:0 0 12px;border:0;padding:0}.contract-payment-state-control legend{margin-bottom:6px}.contract-payment-state-control>button{width:50%;min-height:32px;border:1px solid var(--border);background:#fff;color:#66707d;cursor:pointer;font:inherit;font-size:.75rem}.contract-payment-state-control>button:first-of-type{border-radius:7px 0 0 7px}.contract-payment-state-control>button:last-of-type{margin-left:-1px;border-radius:0 7px 7px 0}.contract-payment-state-control>button[data-active=true]{border-color:#94a2dc;background:#eef1ff;color:#4054b2}.contract-payment-add-allocation{border:0;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:.73rem;padding:0}.contract-payment-secondary-allocation{display:grid;grid-template-columns:minmax(0,1fr) 105px 24px;grid-gap:6px;gap:6px;margin-top:-4px}.contract-payment-dialog-error{margin:10px 0 0;color:var(--danger);font-size:.72rem}.contract-payment-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.contract-journal-list,.contract-version-list{margin:0;padding:15px 20px 22px}.contract-version-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #eef0f3;color:#8c959f;font-size:.7rem;font-weight:600;text-transform:uppercase}.contract-version-add-actions{display:flex;align-items:center;gap:5px}.contract-version-add-actions button{border:0;border-radius:6px;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:.7rem;padding:5px 7px;text-transform:none}.contract-version-add-actions button:hover{background:#eef6ff}.contract-version-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) 120px;align-items:center;grid-gap:16px;gap:16px;padding:11px 0;border-bottom:1px solid #eef0f3;font-size:.74rem}.contract-version-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}.contract-version-row>div>span{color:#8c959f}.contract-version-row>div>small{color:#6f7882;font-size:.66rem}.contract-version-row[data-immutable=true]{background:linear-gradient(90deg,transparent,#fbfbfc)}.contract-version-term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:5px;gap:5px;margin:4px 0}.contract-version-term-grid .ui-input,.contract-version-term-grid select{width:100%;min-height:29px;border:1px solid #e0e3e8;border-radius:6px;background:#fff;color:#49535e;font:inherit;font-size:.68rem;padding:4px 6px}.contract-version-files label{overflow:hidden;color:var(--accent);cursor:pointer;text-overflow:ellipsis;white-space:nowrap}.contract-version-files label[data-complete=false]{color:#c53b3b}.contract-version-files input{display:none}.contract-version-analysis{color:#66707d;text-align:right}.contract-version-analysis button,.contract-version-review button{border:0;border-radius:5px;background:transparent;color:var(--accent);cursor:pointer;font:inherit;font-size:.7rem;padding:3px 5px}.contract-version-review{grid-column:1/-1;border-left:2px solid #e0a83b;padding:7px 10px;background:#fffaf0}.contract-version-review strong{font-size:.72rem}.contract-version-review p{margin:4px 0;color:#765f2f;font-size:.7rem}.contract-version-review .ui-input{min-height:30px;margin:5px 0;padding:5px 7px;font-size:.72rem}.contract-next-payment[data-tone=warning]{color:#a77b09;font-weight:600}.contract-next-payment[data-tone=danger]{color:#c53b3b;font-weight:600}.contract-journal-list{list-style:none}.contract-journal-list li{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid #eef0f3}.contract-journal-marker{width:7px;height:7px;margin-top:5px;border-radius:999px;background:#9aa1aa}.contract-journal-marker[data-source=openai]{background:#7184d9}.contract-journal-list strong{font-size:.76rem}.contract-journal-list p{margin:3px 0;color:#59636e;font-size:.72rem}.contract-journal-list div>span{color:#8c959f;font-size:.66rem}.contract-journal-entry{flex:1 1;min-width:0}.contract-journal-changes{margin-top:6px}.contract-journal-changes summary{width:max-content;color:var(--accent);cursor:pointer;font-size:.69rem;list-style-position:inside}.contract-journal-changes>div{display:grid;grid-gap:8px;gap:8px;margin-top:7px}.contract-journal-changes section{padding:7px 8px;border-radius:6px;background:#f7f8fa}.contract-journal-diff{display:grid;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr);align-items:start;grid-gap:6px;gap:6px;margin-top:5px}.contract-journal-diff label>span{color:#8c959f;font-size:.64rem}.contract-journal-diff pre{max-height:190px;margin:3px 0 0;overflow:auto;color:#4f5964;font:.65rem/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}