.contract-signing-tabs{display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);margin-bottom:16px;min-height:43px;overflow-x:auto}
.contract-signing-tabs button{position:relative;height:43px;padding:0 2px;border:0;background:transparent;color:var(--muted);font-size:14px;white-space:nowrap}
.contract-signing-tabs button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:transparent}
.contract-signing-tabs button:hover{color:var(--ink-strong)}
.contract-signing-tabs button.active{color:var(--ink-strong);font-weight:700}
.contract-signing-tabs button.active::after{background:#315aa8}
.contract-signing-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-height:40px}
.contract-signing-segments{display:inline-flex;align-items:center;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;background:var(--paper)}
.contract-signing-segments button{display:flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted-strong);font-size:12px}
.contract-signing-segments button:last-child{border-right:0}
.contract-signing-segments button:hover{background:#f5f8fc;color:#1f3f82}
.contract-signing-segments button.active{background:#eaf1fb;color:#1f3f82;font-weight:700}
.contract-signing-segments b{min-width:19px;padding:1px 5px;border-radius:3px;background:#e6eaf0;color:#475569;text-align:center;font-size:10px}
.contract-signing-segments button.active b{background:#315aa8;color:#fff}
.contract-signing-search{display:flex;align-items:center;margin-left:auto}
.contract-signing-search input{width:230px;min-width:160px;margin:0;border-radius:6px 0 0 6px}
.contract-signing-search button{align-self:stretch;border:1px solid var(--line-strong);border-left:0;border-radius:0 6px 6px 0;background:#fff;padding:0 13px;color:var(--ink)}
.contract-signing-toolbar>.primary-action{min-height:38px;white-space:nowrap}
.contract-signing-toolbar>.primary-action b:empty{display:none}
.contract-signing-toolbar>.primary-action:disabled{cursor:not-allowed;opacity:.45}
.contract-signing-table{max-height:calc(100vh - 300px)}
.contract-signing-table table{min-width:1220px}
.contract-signing-table .select-cell{width:42px;padding-left:14px;padding-right:8px}
.contract-signing-table td small{color:var(--muted)}
.signing-state{display:inline-flex;align-items:center;min-height:23px;padding:2px 8px;border:1px solid #d7e0ec;border-radius:999px;background:#f6f8fb;color:#475569;font-size:11px;font-weight:600;white-space:nowrap}
.signing-state-ready,.signing-task-pending_configuration,.signing-task-pending_submit{border-color:#ead6a6;background:#fff8e8;color:#865a16}
.signing-state-in_progress,.signing-task-signing,.signing-task-processing{border-color:#bdd2ed;background:#eef5ff;color:#245491}
.signing-state-signed,.signing-task-completed{border-color:#b8ddca;background:#edf8f2;color:#23704b}
.signing-state-not_required,.signing-state-inactive,.signing-task-cancelled{border-color:#d9dee6;background:#f5f6f8;color:#64748b}
.signing-state-missing_identity,.signing-state-missing_phone,.signing-state-missing_contract,.signing-state-missing_relation,.signing-state-missing_service_company,.signing-task-failed,.signing-task-partial_failed,.signing-task-expired,.signing-task-revoked{border-color:#ecc4bf;background:#fff1ef;color:#9a3f35}
.contract-signing-dialog{width:min(1060px,calc(100vw - 40px))}
.contract-signing-dialog .workflow-dialog-body{width:100%;max-width:none}
.contract-signing-launch-dialog{width:min(720px,calc(100vw - 32px));padding:0;border:0;border-radius:7px}
.contract-signing-launch-form{padding:20px;background:#fff}
.contract-signing-launch-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:16px}
.contract-signing-launch-grid label{display:grid;gap:6px;color:var(--muted-strong);font-size:12px}
.contract-signing-launch-grid label.wide{grid-column:1/-1}
.contract-signing-launch-grid input,.contract-signing-launch-grid select{width:100%;margin:0}
.contract-signing-launch-grid input[readonly]{background:#f6f8fb;color:var(--ink)}
.contract-signing-launch-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px;padding-top:14px;border-top:1px solid var(--line)}
.contract-signing-batch-meta{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:0;margin-bottom:14px;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.contract-signing-batch-meta>div{padding:12px 14px;border-right:1px solid var(--line);background:#fff}
.contract-signing-batch-meta>div:last-child{border-right:0}
.contract-signing-batch-meta small{display:block;color:var(--muted);font-size:11px}
.contract-signing-batch-meta b{display:block;margin-top:4px;color:var(--ink-strong);font-size:13px}
@media(max-width:1100px){.contract-signing-toolbar{align-items:stretch;flex-wrap:wrap}.contract-signing-search{margin-left:0}.contract-signing-task-toolbar .contract-signing-search{margin-left:auto}}
@media(max-width:720px){.contract-signing-segments{width:100%;overflow-x:auto}.contract-signing-segments button{flex:0 0 auto;justify-content:center}.contract-signing-search{width:100%}.contract-signing-search input{width:100%}.contract-signing-toolbar>.primary-action{width:100%}.contract-signing-batch-meta{grid-template-columns:1fr 1fr}.contract-signing-batch-meta>div:nth-child(2){border-right:0}.contract-signing-batch-meta>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.contract-signing-launch-grid{grid-template-columns:1fr}.contract-signing-launch-grid label.wide{grid-column:auto}}
