.positive-call-modal[hidden], [hidden] { display: none !important; }
.positive-call-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 18px; }
.positive-call-backdrop { position: absolute; inset: 0; background: rgba(2, 17, 38, .78); backdrop-filter: blur(4px); }
.positive-call-dialog { position: relative; width: min(760px, 100%); max-height: calc(100vh - 36px); overflow: auto; background: #fff; color: #10233f; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.positive-call-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 26px 18px; border-bottom: 1px solid #dce7f5; }
.positive-call-header h2 { margin: 7px 0 0; font-size: clamp(1.4rem, 4vw, 2rem); }
.positive-online-badge { color: #0068c9; font-size: .72rem; font-weight: 800; letter-spacing: .12em; }
.positive-call-close { border: 0; background: #eef5fc; color: #153a63; border-radius: 50%; width: 40px; height: 40px; font-size: 1.75rem; cursor: pointer; }
.positive-call-content { padding: 24px 26px 28px; }
.positive-call-form { display: grid; gap: 15px; }
.positive-call-form > p { margin: 0 0 4px; }
.positive-call-form label:not(.positive-consent) { display: grid; gap: 7px; font-weight: 700; }
.positive-call-form input, .positive-call-form select { width: 100%; box-sizing: border-box; border: 1px solid #b7cbe1; border-radius: 10px; padding: 12px 13px; font: inherit; color: #10233f; background: #fff; }
.positive-call-form input:focus, .positive-call-form select:focus { outline: 3px solid rgba(0,112,210,.18); border-color: #0070d2; }
.positive-consent { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; line-height: 1.45; }
.positive-consent input { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; }
.positive-call-error { min-height: 1.3em; color: #b42318; font-weight: 700; font-size: .9rem; }
.positive-call-submit { width: 100%; }
.positive-call-state { text-align: center; padding: 15px 0; }
.positive-call-state .btn { display: block; width: min(360px,100%); margin: 12px auto 0; box-sizing: border-box; }
.positive-spinner { width: 42px; height: 42px; margin: 0 auto 17px; border: 4px solid #d7e8f8; border-top-color: #0070d2; border-radius: 50%; animation: positive-spin .85s linear infinite; }
.positive-call-room { text-align: center; }
#positiveJitsiContainer { min-height: 480px; border-radius: 12px; overflow: hidden; background: #0c1729; }
#positiveJitsiContainer iframe { display: block; width: 100%; min-height: 480px; border: 0; }
.positive-end-call { margin-top: 14px; background: #b42318; color: #fff; }
body.positive-call-open { overflow: hidden; }
@keyframes positive-spin { to { transform: rotate(360deg); } }
@media (max-width: 600px) {
  .positive-call-modal { padding: 0; place-items: stretch; }
  .positive-call-dialog { width: 100%; max-height: 100vh; min-height: 100vh; border-radius: 0; }
  .positive-call-header, .positive-call-content { padding-left: 18px; padding-right: 18px; }
  #positiveJitsiContainer, #positiveJitsiContainer iframe { min-height: calc(100vh - 190px); }
}
@media (prefers-reduced-motion: reduce) { .positive-spinner { animation-duration: 1.8s; } }
