/* Relay · contract screens — inline-editable register, record-style form, record page */
.ct-no{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:#f0f0f2;color:var(--muted);font-size:10px;flex-shrink:0}
.ct-balance{color:#1e4fb3;font-weight:600}
.r-cell-btn.static{cursor:default}.r-cell-btn.static:hover{box-shadow:none}
.ct-table{min-width:1500px}.ct-table th.r-sticky{width:280px}
.ct-foot{font-size:12px;color:var(--muted);padding:0 10px;height:36px;display:flex;align-items:center}
.ct-table tfoot td{height:36px;background:#fafafa;border-top:1px solid var(--line2);padding:0 10px;white-space:nowrap}.ct-table tfoot td.r-sticky{background:#fafafa}
.r-prob.big{width:100%}.r-prob.big i{flex:1;height:6px}
.ct-steps{flex-wrap:wrap}.ct-steps span{flex:0 0 calc(33.33% - 3px);height:30px;display:grid;place-items:center;border-radius:6px;border:1px solid var(--line2);font-size:12px;color:var(--muted)}.ct-steps span.done{background:#f0f0f2;color:var(--text)}.ct-steps span.current{background:var(--text);border-color:var(--text);color:#fff;font-weight:600}
/* record form */
.ct-record{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-width:0;gap:24px;padding:20px 20px 60px;align-items:start}
.ct-record-main{min-width:0}
.ct-record .r-rec-head>div{min-width:0;flex:1}
.ct-picker{display:grid;gap:4px;font-size:11.5px;color:var(--muted)}.ct-picker select{height:32px;padding:0 10px;border:1px solid var(--line2);border-radius:6px;font-size:13px;color:var(--text);background:#fff;width:100%;max-width:520px;min-width:0}
.ct-rec-sub{font-size:13px;color:var(--muted)}
.ct-attr{height:30px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:transparent;font-size:13px;color:var(--text);width:100%;min-width:0}.ct-attr:hover{border-color:var(--line2)}.ct-attr:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.ct-attr.num{width:90px;text-align:right}
textarea.ct-attr{height:auto;padding:6px 8px;resize:vertical;line-height:1.5}
select.ct-attr{appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2375777c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 6px center/12px;padding-right:24px}
.ct-attrs.two{grid-template-columns:1fr 1fr;gap:0 24px}.ct-attrs.two>div{border-bottom:1px solid var(--line)}
.ct-seg{display:inline-flex;padding:2px;border-radius:6px;background:#f0f0f2}.ct-seg button{height:24px;padding:0 9px;border-radius:4px;font-size:12px;font-weight:500;color:var(--muted)}.ct-seg button[aria-pressed=true]{background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(31,32,35,.12)}
.ct-lines-wrap{margin-top:0;border:1px solid var(--line);border-radius:8px}
.ct-lines{min-width:0;table-layout:auto}.ct-lines th{padding:0 10px;height:32px;font-weight:500;font-size:12px;color:var(--muted);background:#fafafa;border-bottom:1px solid var(--line);text-align:left}.ct-lines th.r-num{text-align:right}.ct-lines td{height:36px;padding:0 4px;white-space:nowrap}.ct-lines td.r-num{text-align:right;padding-right:10px}
.ct-lines input,.ct-lines select{height:30px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:transparent;font-size:13px;color:var(--text);width:100%;min-width:90px}.ct-lines input:hover,.ct-lines select:hover{border-color:var(--line2)}.ct-lines input:focus,.ct-lines select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:#fff}.ct-lines input[type=number]{text-align:right}
.ct-record .r-btn.small{margin-top:8px}
.ct-note{width:100%;border:1px solid var(--line2);border-radius:8px;padding:10px 12px;font:inherit;color:var(--text);line-height:1.5;resize:vertical}
.ct-upload{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px dashed var(--line2);border-radius:8px;cursor:pointer;position:relative;font-size:13px}.ct-upload .icon{color:#5a3bb5}.ct-upload small{display:block;color:var(--muted);font-size:11.5px}.ct-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.ct-files{display:grid;gap:4px;margin-top:8px;font-size:12.5px}.ct-files li{display:flex;align-items:center;gap:6px}.ct-files .icon{width:13px;height:13px;color:var(--muted)}
.ct-record-side{display:grid;gap:12px;position:sticky;top:14px}
.ct-side-card{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}
.ct-side-title{font-size:11.5px;font-weight:600;color:var(--muted);margin-bottom:10px}
.ct-flow{display:grid;gap:8px}.ct-flow li{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted)}.ct-flow li i{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--line2);flex-shrink:0}.ct-flow li.done{color:var(--text)}.ct-flow li.done i{background:#1b6e3d;border-color:#1b6e3d}.ct-flow li.now{color:var(--text);font-weight:600}.ct-flow li.now i{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ct-sum{display:grid;gap:7px;margin:0}.ct-sum div{display:flex;justify-content:space-between;font-size:12.5px}.ct-sum dt{color:var(--muted)}.ct-sum dd{margin:0;font-weight:500}.ct-sum .hl{padding-top:7px;border-top:1px solid var(--line);font-weight:600}
.ct-sum-prog{display:grid;gap:6px;margin-top:12px;font-size:12px;color:var(--muted)}.ct-sum-prog b{color:var(--text)}
.ct-confirm{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:10px 0}.ct-confirm input{accent-color:var(--text)}
.ct-submit{width:100%;justify-content:center}
.ct-side-card small.muted{display:block;margin-top:8px;font-size:11px}
/* record page */
.ct-record.page{padding:20px 20px 60px}
.ct-neg{color:var(--danger)!important}
.ct-block-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px}.ct-block-head .r-h3{margin:0}
.ct-wrap{margin-top:10px;border:1px solid var(--line);border-radius:8px}
.ct-check{width:36px!important;text-align:center}.ct-check input{accent-color:var(--text);width:14px;height:14px;margin:0}
.ct-table.ct-edit{min-width:1500px}.ct-table th.ct-group{text-align:center;border-left:1px solid var(--line)}
.ct-edit input:not([type=checkbox]),.ct-edit select{height:30px;padding:0 8px;border:1px solid transparent;border-radius:5px;background:transparent;font-size:12.5px;color:var(--text);min-width:110px;width:100%}.ct-edit input:hover,.ct-edit select:hover{border-color:var(--line2)}.ct-edit input:focus,.ct-edit select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);background:#fff}.ct-edit input.num{text-align:right;min-width:120px}.ct-edit input[type=date]{min-width:136px}.ct-edit td{padding:0 4px}
.ct-table tr.selected td{background:var(--accent-soft)}
.ct-total td{color:#1e4fb3;font-weight:600}
.ct-round-no{font-size:12px;font-weight:600;color:#5a3bb5;padding:0 6px}
.ct-docs td{padding:0 4px}
.ct-file{display:flex;align-items:center;justify-content:space-between;gap:8px;height:30px;padding:0 8px;border:1px dashed var(--line2);border-radius:5px;position:relative;cursor:pointer;font-size:12px;min-width:160px}.ct-file::after{content:'선택';font-size:11px;color:#1e4fb3;font-weight:500}.ct-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.ct-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-side-partners{display:grid;gap:8px}.ct-side-partners li{display:flex;align-items:center;gap:8px;font-size:12.5px}.ct-side-partners span{flex:1;min-width:0;display:grid}.ct-side-partners small{font-size:11px;color:var(--muted)}.ct-side-partners b{font-weight:600}
.ct-side-share{margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.ct-side-share b{color:var(--text);font-weight:600}
@media (max-width:1100px){.ct-record{grid-template-columns:minmax(0,1fr)}.ct-record-main,.ct-record-side{min-width:0}.ct-record-side{position:static}.ct-attrs.two{grid-template-columns:1fr}}
@media (max-width:820px){.ct-record{padding:12px 12px 48px}.ct-picker select{max-width:100%}.ct-steps span{flex-basis:calc(50% - 2px)}}
