/* Wrapper */
.sasp-wrap { display:flex; justify-content:flex-start; }
.sasp-form { display:flex; align-items:center; width:100%; max-width:640px; margin:0; }
.sasp-input { flex:1 1 auto; height:46px; padding:0 14px; border:1px solid #cfd6df; border-right:0; border-radius:8px 0 0 8px; outline:none; font-size:15px; color:#0b2239; background:#fff; box-shadow: inset 0 1px 1px rgba(0,0,0,.02); }
.sasp-input::placeholder{ color:#9aa8b6; }
.sasp-btn { display:inline-flex; align-items:center; gap:8px; height:46px; padding:0 16px; border:0; cursor:pointer; color:#fff; background:#0d6efd; border-radius:0 8px 8px 0; font-weight:700; letter-spacing:.2px; text-transform:uppercase; box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 2px 8px rgba(13,110,253,.25); }
.sasp-btn .sasp-ico{ display:inline-block; }

/* Modal */
.sasp-modal { position:fixed; inset:0; display:none; }
.sasp-modal.is-open { display:block; z-index:999999999; }
.sasp-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:999999998; }
.sasp-modal-dialog { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:#fff; width:min(960px,94vw); max-height:86vh; overflow:auto; border-radius:12px; box-shadow:0 24px 64px rgba(0,0,0,.28); z-index:999999999; }
.sasp-modal-title { margin:0; padding:14px 18px; border-bottom:1px solid #eef1f4; font-size:16px; }
.sasp-modal-body { padding:16px 18px; background:#fff; }

.sasp-modal-close { position:absolute; right:10px; top:8px; border:0; background:transparent; font-size:22px; cursor:pointer; color:#6b7a90; }

/* Messages */
.sasp-loading { padding:10px; color:#334; }
.sasp-error { padding:10px; color:#b00020; }
.sasp-pre { background:#f3f6fa; border:1px solid #e6edf5; padding:10px; border-radius:8px; overflow:auto; }

body.sasp-lock { overflow:hidden; }

/* Results */
.sasp-result-wrap { overflow:auto; }
.sasp-modal-body table { width:100%; border-collapse:collapse; border:1px solid #dfe5eb; background:#fff; }
.sasp-modal-body th, .sasp-modal-body td { border:1px solid #e6ecf2; padding:.55rem .6rem; text-align:left; vertical-align:top; background:#fff; }
.sasp-modal-body th { background:#f8fafc; font-weight:600; }

/* Status badges */
.sasp-badge { display:inline-block; font-size:12px; line-height:1; padding:6px 8px; border-radius:999px; font-weight:600; }
.sasp-badge-green { background:#e7f7ee; color:#0a7b3e; border:1px solid #c8edd9; }
.sasp-badge-orange { background:#fff4e5; color:#9b5b00; border:1px solid #ffe2bf; }
.sasp-badge-red { background:#fde8ea; color:#a4131a; border:1px solid #f8c2c7; }
.sasp-badge-gray { background:#eef2f6; color:#475569; border:1px solid #e3e9f0; }

@media (max-width: 640px){
  .sasp-modal-dialog { width:96vw; border-radius:10px; }
}
