.cas-wrap{max-width:900px;margin:30px auto;padding:24px;border:1px solid var(--cas-border,#ddd);border-radius:12px;background:var(--cas-bg,#fff);font-family:var(--cas-font-family,Arial,sans-serif);color:var(--cas-text-color,#222);font-size:var(--cas-body-size,16px)}
.cas-wrap h2{font-size:var(--cas-title-size,32px);line-height:1.2;margin:0 0 16px;color:var(--cas-text-color,#222)}
.cas-wrap,.cas-wrap p,.cas-wrap div,.cas-wrap td,.cas-wrap li{color:var(--cas-text-color,#222)}
.cas-logo img{max-width:220px;height:auto;margin-bottom:18px}
.cas-contract-box{padding:18px;border:1px solid var(--cas-border,#ddd);background:var(--cas-contract-bg,#fafafa);border-radius:10px;max-height:420px;overflow:auto;margin:18px 0}
.cas-form .cas-field{margin-bottom:18px}
.cas-form label{display:block;font-weight:600;margin-bottom:8px;font-size:var(--cas-label-size,15px)}
.cas-form input,.cas-form textarea{width:100%;padding:12px;border:1px solid var(--cas-border,#ccc);border-radius:8px;box-sizing:border-box;font-size:var(--cas-body-size,16px);color:var(--cas-text-color,#222);background:#fff}
#cas-signature-pad{width:100%;max-width:100%;height:200px;border:1px dashed var(--cas-border,#999);border-radius:10px;background:#fff;touch-action:none}
.cas-submit{background:var(--cas-button-bg,#111);color:var(--cas-button-text,#fff);border:none;padding:14px 22px;border-radius:10px;cursor:pointer;font-size:var(--cas-body-size,16px)}
.cas-success{background:#edf8ee;color:#125d1c;border:1px solid #b9e0bd;padding:12px 14px;border-radius:10px;margin-bottom:16px}
.cas-required{color:#c62828}
.cas-actions-row{margin-top:10px}
.cas-checkbox-label{display:flex !important;align-items:center;gap:10px;margin:0;font-weight:500;cursor:pointer}
.cas-checkbox-label input{width:auto;flex:0 0 auto;margin:0}
.cas-copy-field{margin-top:-6px}

.cas-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:180px;min-height:50px;position:relative;transition:opacity .2s ease}
.cas-submit-loading{display:none;align-items:center;justify-content:center;gap:10px}
.cas-submit.is-loading .cas-submit-text{display:none}
.cas-submit.is-loading .cas-submit-loading{display:inline-flex}
.cas-submit:disabled{opacity:.9;cursor:not-allowed}
.cas-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;display:inline-block;animation:cas-spin .75s linear infinite}
@keyframes cas-spin{to{transform:rotate(360deg)}}
.cas-popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:99999}
.cas-popup-overlay.is-hidden{display:none}
.cas-popup-box{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:28px 22px;box-shadow:0 20px 50px rgba(0,0,0,.22);text-align:center}
.cas-popup-check{width:62px;height:62px;border-radius:999px;background:#edf8ee;color:#125d1c;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;margin:0 auto 14px}
.cas-popup-box h3{margin:0 0 10px;font-size:28px;line-height:1.15;color:#111}
.cas-popup-box p{margin:0 0 18px}
.cas-popup-close{border:none;background:#111;color:#fff;border-radius:10px;padding:12px 20px;font-size:16px;cursor:pointer;min-width:120px}
@media (max-width: 767px){
  .cas-wrap{margin:16px auto;padding:16px;border-radius:10px}
  .cas-wrap h2{font-size:28px}
  .cas-contract-box{max-height:320px;padding:14px}
  .cas-form input,.cas-form textarea{font-size:16px;padding:12px}
  #cas-signature-pad{height:170px}
  .cas-submit{width:100%}
  .cas-popup-box{padding:24px 18px;max-width:360px}
  .cas-popup-box h3{font-size:24px}
}
