.ocd{color:var(--text);min-width:0}
.ocd-object-contract{display:grid;gap:22px;min-width:0}
.ocd-object-intro{padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:var(--card,var(--surface,#fff))}
.ocd-object-intro h2{margin:0 0 5px;font-size:25px}
.ocd-object-intro p,.ocd-object-details>header p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.ocd-object-details{padding:20px 24px;border:1px solid var(--line);border-radius:16px;background:var(--card,var(--surface,#fff));min-width:0}
.ocd-object-details>header{margin-bottom:15px}
.ocd-object-details>header h3{margin:0 0 5px;font-size:19px}
.ocd-object-details>.tabs{margin-bottom:16px}
.ocd-object-details #clBody{min-width:0}
.ocd-shell{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--card,var(--surface,#fff))}
.ocd-header{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.ocd-header h2{margin:0 0 7px;font-size:24px;line-height:1.25}
.ocd-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.ocd label{display:grid;gap:7px;font-size:13px;margin:0;min-width:0}
.ocd-contract{flex:0 1 350px;width:100%}
.ocd input:not([type=checkbox]),.ocd select,.ocd textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;min-height:42px}
.ocd textarea{resize:vertical;min-height:95px;line-height:1.6}
.ocd input:focus-visible,.ocd select:focus-visible,.ocd textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ocd-summary{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}
.ocd-summary>div{flex:1 1 150px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}
.ocd-summary span{font-size:12px;color:var(--muted)}
.ocd-summary strong{font-size:24px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ocd-summary .ocd-date{font-size:16px}
.ocd-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}
.ocd-contract-main{grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr)}
.ocd-contract-main .ocd-documents{grid-column:1;grid-row:1}
.ocd-contract-main .ocd-editor{grid-column:2;grid-row:1}
.ocd-editor{min-width:0}
.ocd-section-heading{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.ocd-step{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent-soft,#fff0e9);color:var(--accent);font-weight:700;flex-shrink:0}
.ocd h3{font-size:16px;margin:0;line-height:1.4}
.ocd-section-heading p{font-size:12px;line-height:1.5;color:var(--muted);margin:3px 0 0}
.ocd-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(160px,1fr);gap:15px;margin-bottom:18px}
.ocd-wide{grid-column:1/-1}
.ocd-price-option{border:1px solid var(--line);border-radius:11px;margin:18px 0 22px;background:var(--bg);overflow:hidden}
.ocd .ocd-toggle{display:flex;align-items:center;gap:12px;padding:15px;cursor:pointer}
.ocd-toggle input[type=checkbox]{width:19px;height:19px;min-height:0;margin:0;flex-shrink:0;accent-color:var(--accent)}
.ocd-toggle strong,.ocd-toggle small{display:block;line-height:1.5}
.ocd-toggle small{color:var(--muted);margin-top:3px;font-size:12px}
.ocd-price-option:has(input:checked){border-color:var(--accent)}
.ocd [data-price-fields]{padding:0 15px 15px}
.ocd [hidden]{display:none!important}
.ocd-price-info{font-size:12px;line-height:1.6;padding:12px;background:var(--accent-soft,#fff0e9);border-radius:8px;margin-bottom:14px}
.ocd-effective{max-width:300px}
.ocd-rates-scroll{overflow:auto;max-width:100%;margin-top:10px}
.ocd-rates-scroll table{min-width:440px;width:100%}
.ocd-rates-scroll p{font-size:12px;line-height:1.5;color:var(--muted)}
.ocd-rates-scroll input{min-width:105px}
.ocd .ocd-upload{padding:16px;border:1px dashed var(--accent);border-radius:11px;background:var(--accent-soft,#fff0e9);gap:10px}
.ocd-upload small{font-size:11px;line-height:1.5;color:var(--muted)}
.ocd input[type=file]{background:var(--card,var(--surface,#fff));font-size:12px;padding:7px;cursor:pointer}
.ocd input[type=file]::file-selector-button{border:0;border-radius:6px;background:var(--bg);color:var(--text);padding:8px 11px;margin-right:10px;cursor:pointer;font:inherit}
.ocd-form-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:18px}
.ocd-form-footer>span{font-size:11px;color:var(--muted)}
.ocd-form-footer .btn{padding:11px 18px;min-height:42px}
.ocd-save-status{font-size:13px;line-height:1.5;margin:12px 0 0}
.ocd-save-status:empty{display:none}
.ocd-documents{border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--bg);min-width:0}
.ocd-list-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.ocd-list-heading>span{background:var(--card,var(--surface,#fff));border:1px solid var(--line);padding:3px 9px;border-radius:20px;font-size:12px}
.ocd [data-file-list]{display:grid;gap:12px;max-height:760px;overflow:auto}
.ocd-contract-main [data-file-list]{max-height:none;overflow:visible}
.ocd-group-heading{font-size:14px;color:var(--text);margin:10px 0 0}
.ocd-group-heading[hidden]{display:none}
.ocd-file{padding:14px;background:var(--card,var(--surface,#fff));border:1px solid var(--line);border-radius:10px;min-width:0}
.ocd-file.ocd-outdated{opacity:.78;border-style:dashed}
.ocd-file-state{font-size:11px;font-weight:700;color:var(--green,#16805b)}
.ocd-outdated .ocd-file-state{color:var(--amber,#ab6900)}
.ocd-primary-file{border:2px solid var(--accent);background:var(--accent-soft,#fff8f4);padding:20px}
.ocd-primary-file h4{font-size:20px;margin:16px 0}
.ocd-cover{box-sizing:border-box;width:min(100%,520px);aspect-ratio:210/297;display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;align-items:center;gap:10px;margin:0 auto;padding:14px;border:0;border-radius:10px;background:#323b47;color:#fff;cursor:pointer;text-align:center;font:inherit}
.ocd-cover:hover,.ocd-cover:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.ocd-cover img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 3px 18px #0005}
.ocd-cover img[hidden]{display:none}
.ocd-cover span{font-size:13px;line-height:1.4}
.ocd-file-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ocd-file-type{font-size:10px;border-radius:5px;padding:4px 6px;background:var(--bg);color:var(--muted)}
.ocd-file-price{background:var(--accent-soft,#fff0e9);color:var(--accent)}
.ocd-file-size{font-size:10px;color:var(--muted)}
.ocd-file h4{font-size:14px;line-height:1.5;margin:12px 0;overflow-wrap:anywhere}
.ocd-file dl{display:grid;gap:7px;font-size:12px;margin:0}
.ocd-file dl>div{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ocd-file dt{color:var(--muted)}
.ocd-file dd{margin:0;font-weight:600}
.ocd-file-note{white-space:pre-wrap;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.ocd-file-name{font-size:11px;color:var(--muted);overflow-wrap:anywhere;margin:12px 0}
.ocd-file>.btn{width:100%}
.ocd-file-actions{display:flex;gap:7px;flex-wrap:wrap}
.ocd-file-actions>.btn{flex:1 1 120px}
.contract-preview-backdrop{position:fixed;inset:0;z-index:10050;background:rgba(20,27,38,.78);display:grid;place-items:center;padding:16px;box-sizing:border-box}
.contract-preview{display:flex;flex-direction:column;width:min(1100px,100%);height:calc(100dvh - 32px);max-height:900px;min-height:0;overflow:hidden;border-radius:14px;background:var(--card,var(--surface,#fff));color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.35)}
.contract-preview>header,.contract-preview>footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line)}
.contract-preview>header,.contract-preview>footer{flex:none}
.contract-preview>header strong{display:block;font-size:16px}
.contract-preview>header small{display:block;color:var(--muted);overflow-wrap:anywhere}
.contract-preview>header{flex-wrap:wrap}
.contract-preview>header [data-close]{flex:none}
.contract-preview>footer{border-bottom:0;border-top:1px solid var(--line);flex-wrap:wrap;font-size:12px;color:var(--muted)}
.contract-preview-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#323b47;padding:14px}
.contract-preview-pages-list{display:flex;flex-direction:column;align-items:center;gap:22px;max-width:850px;margin:0 auto}
.contract-preview-page{width:100%}
.contract-preview-page-number{display:block;margin:0 0 7px;color:#e5eaf0;font-size:12px;text-align:left}
.contract-preview-sheet{display:grid;place-items:center;width:100%;aspect-ratio:var(--contract-page-ratio,210/297);background:#fff;color:#374151;box-shadow:0 4px 18px rgba(0,0,0,.35);box-sizing:border-box}
.contract-preview-sheet[data-loaded]{aspect-ratio:auto}
.contract-preview-sheet img{display:block;width:100%;height:auto;user-select:none}
.contract-preview-sheet p{padding:16px;text-align:center}
.contract-preview-sheet .btn{margin-bottom:16px}
.contract-preview-body [data-status]{color:#fff}
@media(max-width:650px){.contract-preview-backdrop{padding:4px}.contract-preview{height:calc(100dvh - 8px);border-radius:8px}.contract-preview>header,.contract-preview>footer{padding:10px}.contract-preview-body{padding:8px}.contract-preview-pages-list{gap:14px}}
@media print{.contract-preview-backdrop{display:none!important}}
.ocd-empty{text-align:center;display:grid;justify-items:center;gap:12px;padding:28px 8px;color:var(--muted)}
.ocd-empty svg{color:var(--accent);opacity:.6}
.ocd-empty strong{font-size:13px;color:var(--text)}
.ocd-empty p{font-size:12px;line-height:1.7;margin:0;max-width:290px}
@media(max-width:1050px){.ocd-layout{grid-template-columns:1fr}.ocd-contract-main .ocd-documents{grid-column:1;grid-row:1}.ocd-contract-main .ocd-editor{grid-column:1;grid-row:2}.ocd [data-file-list]{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.ocd-primary-file{grid-column:1/-1}.ocd-empty{padding:18px}.ocd-header{align-items:start}.ocd-contract{flex:1 1 280px}}
@media(max-width:600px){.ocd-shell{padding:16px}.ocd-header h2{font-size:21px}.ocd-fields{grid-template-columns:1fr}.ocd-wide{grid-column:auto}.ocd [data-file-list]{grid-template-columns:1fr}.ocd-summary{gap:8px}.ocd-summary>div{flex-basis:100%;padding:10px 12px}.ocd-summary strong{font-size:19px}.ocd-form-footer .btn{width:100%}.ocd-rates-scroll table{font-size:12px}}

/* Object documents: one heading, current document first, optional editor. */
.ocd-object-contract>.ocd-object-intro{display:none}
.ocd-object-contract{gap:16px}
.ocd-shell{padding:18px}
.ocd-header{gap:14px;margin-bottom:14px;align-items:flex-start}
.ocd-header h2{font-size:21px;margin-bottom:5px}
.ocd-header-actions{display:flex;gap:12px;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;flex:0 1 560px;min-width:0}
.ocd-header-actions .ocd-contract{flex:1 1 230px;max-width:340px}
.ocd-header-actions>.btn,.ocd-header>.btn{flex:none;min-height:42px;white-space:nowrap}
.ocd-summary{gap:8px;margin-bottom:14px}
.ocd-summary>div{flex:0 1 auto;padding:8px 12px;gap:12px;border-radius:8px}
.ocd-summary strong{font-size:17px}
.ocd-summary .ocd-date{font-size:14px}
.ocd-layout:not(.ocd-editing){display:block}
.ocd-contract-main.ocd-editing{gap:18px;grid-template-columns:minmax(0,1.35fr) minmax(330px,1fr)}
.ocd-editor{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
.ocd-editor input:not([type=checkbox]),.ocd-editor select,.ocd-editor textarea{background:var(--card,var(--surface,#fff))}
.ocd-documents{padding:0;border:0;border-radius:0;background:transparent}
.ocd-file-body{min-width:0}
.ocd-primary-file .ocd-file-body:has(.ocd-cover){display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr);gap:20px;align-items:start}
.ocd-file-info{min-width:0}
.ocd-primary-file{padding:16px}
.ocd-primary-file h4{font-size:18px;line-height:1.4;margin:12px 0 16px}
.ocd-cover{width:100%;max-width:230px;padding:9px;gap:8px}
.ocd-cover span{font-size:11px}
.ocd-file-info dl{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line);gap:10px}
.ocd-file-info dt,.ocd-file-info dd{line-height:1.5}
.ocd-file-info .ocd-file-actions{margin-top:14px}
.ocd-file-info .ocd-file-actions>.btn{flex:0 1 auto}
.ocd-group-heading{grid-column:1/-1;font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em;margin:4px 0 0}
.ocd-documents>label{max-width:340px;margin:0 0 14px}
.ocd-archive-notice,.ocd-filter-empty{padding:12px 14px;margin:0 0 14px;border:1px dashed var(--line);border-radius:10px;font-size:13px;color:var(--muted);line-height:1.5}
.ocd-save-status[data-save-message]:not(:empty){padding:10px 13px;margin:0 0 14px;border:1px solid #bce6d7;border-radius:9px;background:#edf9f3;color:#176c4f}
.ocd-form-footer{gap:8px;margin-top:14px}
.ocd-form-footer>span{flex:1 1 100%}
.ocd-form-footer>.btn[type=submit]{flex:1 1 auto}
@media(max-width:1050px){
 .ocd-contract-main.ocd-editing{grid-template-columns:1fr}
 .ocd-contract-main.ocd-editing .ocd-editor{grid-column:1;grid-row:1}
 .ocd-contract-main.ocd-editing .ocd-documents{grid-column:1;grid-row:2}
 .ocd-header-actions{flex:1 1 auto}
}
@media(max-width:600px){
 .ocd-shell{padding:14px}.ocd-header h2{font-size:20px}
 .ocd-header-actions{width:100%;justify-content:flex-start;align-items:flex-end}
 .ocd-header-actions .ocd-contract{max-width:none}
 .ocd-summary>div{flex:1 1 140px}.ocd-summary strong{font-size:16px}
 .ocd-primary-file .ocd-file-body:has(.ocd-cover){grid-template-columns:1fr;gap:14px}
 .ocd-primary-file{padding:13px}.ocd-cover{max-width:210px}
 .ocd-file-info .ocd-file-actions>.btn{flex:1 1 140px}
 .ocd-editor{padding:13px}.ocd-form-footer .btn{width:auto;flex:1 1 120px}
}
