/* V3.23 Attempt Modal Module CSS.
   Future popup/call-result/status-button changes go here first.
   Current stable styles remain in app.css for this safe phase.
*/


/* --------------------------------------------------------------------------
   V3.26.1 Header Pagination UI Fix - Attempt Popup
-------------------------------------------------------------------------- */
.modal-bg{
  background:rgba(2,6,23,.66)!important;
  backdrop-filter:blur(8px)!important;
}
.modal{
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.65)!important;
  box-shadow:0 30px 90px rgba(2,6,23,.40)!important;
  overflow:hidden!important;
}
.modal-head{
  background:linear-gradient(135deg,#0f172a,#172554)!important;
  color:#fff!important;
  padding:16px 20px!important;
  border-bottom:0!important;
}
.modal-head h2{color:#fff!important;letter-spacing:-.02em!important}
.modal-head .small{color:#cbd5e1!important}
.close-x{
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:999px!important;
  width:38px!important;
  height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:24px!important;
}
.modal-body{
  background:linear-gradient(180deg,#f8fafc,#eef4fb)!important;
  padding:16px!important;
}
.call-hero{
  gap:14px!important;
}
.hero-panel{
  border:1px solid #dbe4ef!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.07)!important;
}
.info-box{
  border-radius:16px!important;
  background:#f8fafc!important;
  border:1px solid #e2e8f0!important;
}
.copy-mobile-wrap input{
  font-size:18px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
}
.copy-mobile-btn{
  background:#0f172a!important;
  color:#fff!important;
  border:0!important;
  border-radius:12px!important;
}
.address-field{
  min-height:110px!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.rto-panel{
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff7ed,#ffedd5)!important;
  border:1px solid #fed7aa!important;
  box-shadow:0 10px 24px rgba(245,158,11,.12)!important;
}
.rto-modal .modal-head{
  background:linear-gradient(135deg,#7c2d12,#b45309)!important;
}
.status-options{
  gap:10px!important;
}
.status-group-title{
  color:#334155!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
.status-options label,.status-option{
  border-radius:16px!important;
  border:1px solid #dbe4ef!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(15,23,42,.05)!important;
  transition:.14s ease!important;
}
.status-options label:hover,.status-option:hover{
  border-color:#93c5fd!important;
  transform:translateY(-1px);
}
.status-options input:checked + span,
.status-options label:has(input:checked){
  background:#eff6ff!important;
  border-color:#60a5fa!important;
  box-shadow:0 0 0 4px rgba(37,99,235,.08)!important;
}
.remark-row{
  border-radius:20px!important;
  background:#fff!important;
  border:1px solid #dbe4ef!important;
  padding:14px!important;
}
.remark-row textarea{min-height:92px!important}
.modal-savebar{
  position:sticky!important;
  bottom:0!important;
  z-index:20!important;
  border:1px solid #bfdbfe!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(239,246,255,.96),rgba(255,255,255,.96))!important;
  box-shadow:0 -10px 30px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(12px)!important;
}
.modal-savebar .btn.blue{
  padding:12px 18px!important;
  border-radius:14px!important;
}
.quick-actions .btn{border-radius:999px!important}
.risk-remark-help{
  border-radius:16px!important;
  background:#fff7ed!important;
  border:1px solid #fed7aa!important;
}


/* --------------------------------------------------------------------------
   V3.27.4 Call Result Manager + Compact Popup Result UI
-------------------------------------------------------------------------- */
.compact-call-result-title{
  margin-top:8px!important;
  margin-bottom:8px!important;
}
.status-options.status-options-v3274{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin-top:6px!important;
}
.call-status-section{
  border:1px solid #dbe4ef!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;
  padding:8px!important;
}
.call-status-section.call-status-positive{
  border-color:#bbf7d0!important;
  background:linear-gradient(180deg,#f0fdf4,#ffffff)!important;
}
.call-status-section.call-status-not_connected{
  border-color:#fde68a!important;
  background:linear-gradient(180deg,#fffbeb,#ffffff)!important;
}
.call-status-section.call-status-invalid_closed{
  border-color:#e2e8f0!important;
  background:linear-gradient(180deg,#f8fafc,#ffffff)!important;
}
.call-status-title{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  margin-bottom:7px!important;
}
.call-status-title span{
  font-size:10px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.10em!important;
  color:#334155!important;
}
.call-status-title small{
  display:inline-flex!important;
  min-width:20px!important;
  height:20px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:#e2e8f0!important;
  color:#475569!important;
  font-size:10px!important;
  font-weight:1000!important;
}
.call-status-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important;
  gap:7px!important;
}
.call-status-item{
  min-width:0!important;
}
.call-status-item input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.call-status-item label{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:40px!important;
  height:40px!important;
  padding:7px 9px 7px 30px!important;
  border-radius:12px!important;
  border:1px solid #cbd5e1!important;
  background:#fff!important;
  box-shadow:0 6px 14px rgba(15,23,42,.04)!important;
  cursor:pointer!important;
  overflow:hidden!important;
}
.call-status-item label::before{
  content:""!important;
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:12px!important;
  height:12px!important;
  border-radius:999px!important;
  border:2px solid #cbd5e1!important;
  background:#fff!important;
}
.call-status-item input:checked + label{
  border-color:#2563eb!important;
  background:#eff6ff!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.10)!important;
}
.call-status-item input:checked + label::before{
  border-color:#2563eb!important;
  background:#2563eb!important;
  box-shadow:inset 0 0 0 3px #fff!important;
}
.call-status-item label b{
  display:block!important;
  min-width:34px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:#0f172a!important;
}
.call-status-item label span{
  display:block!important;
  min-width:0!important;
  font-size:9px!important;
  line-height:1.08!important;
  font-weight:900!important;
  color:#64748b!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

/* Admin call result manager */
.call-result-admin-card .admin-section-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:12px!important;
  margin-bottom:14px!important;
}
.call-result-add-form{
  display:grid!important;
  grid-template-columns:1.1fr .8fr 1.5fr .65fr .9fr .8fr auto!important;
  gap:10px!important;
  align-items:end!important;
  border:1px solid #dbeafe!important;
  border-radius:18px!important;
  padding:12px!important;
  background:#f8fbff!important;
  margin-bottom:14px!important;
}
.call-result-manager-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}
.call-result-group-card{
  border:1px solid #dbe4ef!important;
  border-radius:18px!important;
  background:#fff!important;
  padding:12px!important;
  min-width:0!important;
}
.call-result-group-card.status-admin-positive{border-color:#bbf7d0!important;background:linear-gradient(180deg,#f0fdf4,#fff)!important;}
.call-result-group-card.status-admin-not_connected{border-color:#fde68a!important;background:linear-gradient(180deg,#fffbeb,#fff)!important;}
.call-result-group-card.status-admin-invalid_closed{border-color:#e2e8f0!important;background:linear-gradient(180deg,#f8fafc,#fff)!important;}
.call-result-group-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  margin-bottom:10px!important;
}
.call-result-group-head b{
  display:block!important;
  color:#0f172a!important;
  font-size:15px!important;
}
.call-result-group-head span{
  display:block!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
}
.status-admin-row{
  display:grid!important;
  grid-template-columns:64px minmax(100px,1fr)!important;
  gap:7px!important;
  padding:8px!important;
  border:1px solid #e2e8f0!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.78)!important;
  margin-bottom:8px!important;
}
.status-admin-code input{
  font-weight:1000!important;
  text-transform:uppercase!important;
  text-align:center!important;
}
.status-admin-label{
  min-width:0!important;
}
.status-admin-selects{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:1.2fr .8fr .75fr 58px!important;
  gap:6px!important;
}
.status-admin-actions{
  grid-column:1/-1!important;
  display:flex!important;
  gap:6px!important;
  align-items:center!important;
}
.status-admin-actions form{
  margin:0!important;
}
.status-admin-actions button{
  min-height:30px!important;
  padding:6px 10px!important;
  border-radius:10px!important;
}
.core-pill{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:#e2e8f0!important;
  color:#475569!important;
  font-size:11px!important;
  font-weight:950!important;
}
@media(max-width:1200px){
  .call-result-manager-grid{grid-template-columns:1fr!important;}
  .call-result-add-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  .call-status-grid{grid-template-columns:repeat(2,minmax(86px,1fr))!important;}
  .call-result-add-form,.status-admin-selects{grid-template-columns:1fr!important;}
}


/* --------------------------------------------------------------------------
   V3.27.4.4 RedFlag/RTO Submit Fix
-------------------------------------------------------------------------- */
body.form-submitting form.attempt-save-form button[type="submit"],
form.attempt-save-form.is-submitting button[type="submit"],
form.attempt-save-form.is-submitting .btn{
  opacity:1!important;
  pointer-events:auto!important;
}
form.attempt-save-form.is-submitting button[type="submit"]::after,
form.attempt-save-form.is-submitting .btn.blue::after{
  content:none!important;
}


/* --------------------------------------------------------------------------
   V3.28.7 Inline RTO CNF Fix + Instant Live
-------------------------------------------------------------------------- */
.courier-error{
  display:none;
  margin-top:5px!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  background:#fee2e2!important;
  color:#991b1b!important;
  border:1px solid #fecaca!important;
  font-size:10.5px!important;
  font-weight:950!important;
  line-height:1.25!important;
}
.courier-error.show{display:block!important}
.courier-field.has-error{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.10),0 12px 26px rgba(239,68,68,.08)!important;
  background:#fff7f7!important;
}
.courier-field.has-error select{
  border-color:#ef4444!important;
  background:#fff1f2!important;
  box-shadow:0 0 0 4px rgba(239,68,68,.12)!important;
}
.courier-field.attention-pulse{
  animation:courierAttentionPulse .34s ease-in-out 0s 3;
}
@keyframes courierAttentionPulse{
  0%,100%{transform:translateX(0)}
  25%{transform:translateX(-4px)}
  75%{transform:translateX(4px)}
}
.inline-opening-panel{
  min-height:82px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:7px!important;
  border-radius:0 0 16px 16px!important;
  background:linear-gradient(135deg,#ecfdf5,#ffffff)!important;
  border:1px dashed #22c55e!important;
  color:#166534!important;
  font-weight:950!important;
}
.inline-opening-panel span{
  font-size:12px!important;
  color:#15803d!important;
}
tr.inline-opening-row td{
  background:#ecfdf5!important;
}


/* --------------------------------------------------------------------------
   V3.28.9 RTO Mobile + Copy Blink + CXL Remark
-------------------------------------------------------------------------- */
/* RTO mobile number orange on dashboard */
.mobile-actions.mobile-rto-highlight,
.mobile-rto-highlight{
  display:inline-flex!important;
  align-items:center!important;
  border-radius:999px!important;
  padding:2px 8px!important;
  background:#fff7ed!important;
  border:1px solid #fdba74!important;
  box-shadow:0 4px 14px rgba(249,115,22,.12)!important;
}
.mobile-actions.mobile-rto-highlight .mobile-main,
.mobile-rto-highlight .mobile-main{
  color:#c2410c!important;
  font-weight:1000!important;
}

/* RTO mobile number orange inside inline view */
.inline-rto .mobile-field,
.inline-rto-mobile-field{
  border-color:#fdba74!important;
  background:#fff7ed!important;
  box-shadow:0 8px 22px rgba(249,115,22,.10)!important;
}
.inline-rto .mobile-field input[name="mobile_raw"],
.inline-rto-mobile-field input[name="mobile_raw"]{
  color:#c2410c!important;
  font-weight:1000!important;
  background:#fffaf5!important;
  border-color:#fdba74!important;
}

/* Copy success blink for dashboard/mobile/modal/inline */
.mobile-actions.copied .mobile-main,
.copy-mobile-wrap.copied input,
.inline-card.mobile-field.copied input,
.inline-rto-mobile-field.copied input,
.copy-mobile-input.copied{
  animation:mobileCopyBlink .34s ease-in-out 0s 4!important;
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#22c55e!important;
  box-shadow:0 0 0 4px rgba(34,197,94,.16)!important;
}
.mobile-actions.copied{
  background:#dcfce7!important;
  border-color:#22c55e!important;
}
@keyframes mobileCopyBlink{
  0%,100%{filter:brightness(1); transform:scale(1)}
  50%{filter:brightness(1.08); transform:scale(1.018)}
}

/* CXL / red CNF remark mandatory highlight */
.remark-row.has-error,
.inline-remark-card.has-error{
  border-color:#ef4444!important;
  box-shadow:0 0 0 3px rgba(239,68,68,.10),0 12px 24px rgba(239,68,68,.08)!important;
  background:#fff7f7!important;
}
.remark-row.has-error textarea,
.remark-row.has-error input[name="remark"],
.inline-remark-card.has-error input[name="remark"]{
  border-color:#ef4444!important;
  background:#fff1f2!important;
  box-shadow:0 0 0 4px rgba(239,68,68,.10)!important;
}

