.rsc-wrap, .rsc-wrap * { box-sizing: border-box; }
.rsc-wrap { background: #fff !important; color: #171717; width: 100%; max-width: 1220px; margin: 0 auto; padding: 22px 0 48px; font-family: Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.65; }
.rsc-wrap a { color: #171717; }
.rsc-empty { padding: 34px 26px; background: #fff; border: 1px solid #dedede; border-radius: 14px; }
.rsc-contract-list { display: grid; grid-template-columns: 1fr; gap: 16px; }
.rsc-item { display: flex; align-items: center; justify-content: space-between; gap: 20px; background: #fff !important; border: 1px solid #e1e1e1; border-radius: 16px; padding: 26px; box-shadow: 0 7px 24px rgba(0,0,0,.045); }
.rsc-item-name { color: #161616; font-size: 20px; font-weight: 650; line-height: 1.35; }
.rsc-item-meta { margin-top: 7px; font-size: 14px; color: #606060; }
.rsc-item-actions, .rsc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.rsc-wrap .rsc-button { display: inline-flex; justify-content: center; align-items: center; min-height: 43px; padding: 10px 17px; appearance: none; background: #fff !important; color: #191919 !important; border: 1px solid #222 !important; border-radius: 9px; font: 600 14px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .01em; text-decoration: none !important; cursor: pointer; transition: box-shadow .16s ease, transform .16s ease; }
.rsc-wrap .rsc-button:hover, .rsc-wrap .rsc-button:focus-visible { background: #fff !important; color: #000 !important; box-shadow: 0 4px 14px rgba(0,0,0,.11); transform: translateY(-1px); }
.rsc-wrap .rsc-button-outline { border-color: #bababa !important; }
.rsc-wrap button:disabled { opacity: .6; cursor: wait; }
.rsc-document { background: #fff !important; border: 1px solid #dfdfdf; border-radius: 16px; padding: clamp(22px, 5vw, 58px); box-shadow: 0 8px 30px rgba(0,0,0,.045); }
.rsc-document-body { background: #fff !important; color: #191919; font-size: 16px; line-height: 1.75; overflow-wrap: break-word; }
.rsc-document-body * { background-color: #fff !important; background-image: none !important; }
.rsc-document-body * { max-width: 100%; }
.rsc-document-body h1, .rsc-document-body h2, .rsc-document-body h3 { color: #111; line-height: 1.25; }
.rsc-sign-form, .rsc-signature-record { background: #fff !important; border-top: 1px solid #e3e3e3; margin-top: 34px; padding-top: 29px; }
.rsc-small-label { font-size: 14px; font-weight: 700; color: #242424; margin-bottom: 11px; }
.rsc-signature-pad { display: block; width: 100%; height: auto; aspect-ratio: 900 / 230; max-height: 200px; border: 1px solid #bababa; border-radius: 10px; background: #fff !important; cursor: crosshair; touch-action: none; }
.rsc-wrap .rsc-text-button { display: inline-block; background: #fff !important; border: none; padding: 10px 0; text-decoration: underline; color: #333; cursor: pointer; font-size: 14px; }
.rsc-identity { margin: 15px 0 28px; display: flex; flex-direction: column; gap: 0; font-size: 15px; }
.rsc-identity span, .rsc-evidence { color: #555; }
.rsc-selfie-box { background: #fff !important; border: 1px solid #e0e0e0; border-radius: 13px; padding: 24px; }
.rsc-selfie-box p { font-size: 15px; margin: 0 0 15px; }
.rsc-video { width: min(100%, 420px); max-height: 400px; object-fit: cover; border-radius: 9px; margin-bottom: 14px; background: #fff; transform: scaleX(-1); }
.rsc-preview { display: block; max-width: 280px; max-height: 320px; object-fit: cover; border-radius: 9px; margin-bottom: 14px; border: 1px solid #dedede; }
.rsc-video[hidden], .rsc-preview[hidden], .rsc-camera-capture[hidden] { display: none !important; }
.rsc-file-label { position: relative; overflow: hidden; }
.rsc-file-label input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.rsc-mobile-option { margin-top: 20px; font-size: 14px; color: #444; }
.rsc-mobile-option a { display: inline-block; margin: 10px 0; text-underline-offset: 3px; }
.rsc-copy-row { display: flex; gap: 10px; max-width: 740px; }
.rsc-wrap .rsc-copy-row input { flex: 1; min-width: 0; width: 100%; padding: 10px 12px; border: 1px solid #d0d0d0; background: #fff !important; color: #333; border-radius: 8px; font-size: 13px; }
.rsc-consent { display: flex; align-items: flex-start; gap: 10px; margin: 25px 0; font-size: 15px; cursor: pointer; }
.rsc-consent input { flex: 0 0 auto; margin: 7px 0 0; width: 18px; height: 18px; }
.rsc-form-message { color: #555; margin-top: 14px; font-size: 14px; }
.rsc-success { color: #196143; }
.rsc-error { color: #a32121; }
.rsc-signature-record .rsc-signed-image { display: block; width: min(250px,100%); height: auto; margin-bottom: 12px; border: 1px solid #e7e7e7; background: #fff; }
.rsc-signature-record .rsc-evidence { font-size: 14px; margin: 13px 0 22px; }
.rsc-selfie-record { margin-bottom: 25px; }
.rsc-selfie-record img { display: block; width: min(220px,100%); max-height: 250px; object-fit: contain; border-radius: 6px; }
.rsc-back { margin: 20px 0; font-size: 14px; }
.rsc-back a { text-decoration: underline; text-underline-offset: 3px; }
.rsc-mobile-capture { max-width: 630px; padding: 25px; border: 1px solid #e1e1e1; border-radius: 14px; }
.rsc-mobile-capture .rsc-submit { margin-top: 24px; }
@media (max-width: 680px) { .rsc-wrap { padding: 12px 0 30px; font-size: 15px; } .rsc-item { flex-direction: column; align-items: stretch; padding: 19px; } .rsc-item-actions { width: 100%; } .rsc-item-actions .rsc-button { flex: 1; } .rsc-document { padding: 22px 17px; border-radius: 12px; } .rsc-selfie-box { padding: 18px; } .rsc-copy-row { flex-direction: column; } .rsc-mobile-capture { padding: 18px; } }
.rsc-signature-method { border: 1px solid #e0e0e0; border-radius: 13px; margin: 0 0 18px; min-width: 0; padding: 18px; }
.rsc-signature-method legend { padding: 0 6px; font-weight: 650; }
.rsc-signature-method > label { display: inline-flex; align-items: center; gap: 6px; margin: 0 14px 12px 0; }
.rsc-type-panel input { display: block; width: min(100%, 32rem); margin-top: 5px; padding: 10px 12px; border: 1px solid #888; border-radius: 8px; color: #171717; background: #fff; }
.rsc-draw-panel[hidden], .rsc-type-panel[hidden] { display: none !important; }
.rsc-file-label:focus-within, .rsc-wrap :focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
.rsc-document-body { overflow-x: auto; }
.rsc-document-body table { border-collapse: collapse; }
.rsc-document-body td, .rsc-document-body th { border: 1px solid #d0d0d0; padding: 6px 9px; }
@media (prefers-reduced-motion: reduce) { .rsc-wrap .rsc-button { transition: none; } }
