/* SmartPOS form UI baseline — one layout for Bootstrap modals and business forms. */
.sp-bootstrap-app .sp-bs-toggle,
.sp-form-modal .sp-bs-toggle {display:inline-flex!important;align-items:center!important;gap:11px!important;position:relative!important;padding:0!important;margin:0!important;min-height:32px;max-width:100%;width:auto;cursor:pointer;vertical-align:middle;float:none!important}
.sp-bootstrap-app .sp-bs-toggle .form-check-input,
.sp-form-modal .sp-bs-toggle .form-check-input {float:none!important;position:static!important;flex:0 0 auto;margin:0!important;cursor:pointer;border:1px solid #b8c2d0;box-shadow:none}
.sp-bootstrap-app .sp-bs-toggle.form-switch .form-check-input {width:2.45em;height:1.35em}
.sp-bootstrap-app .sp-bs-toggle.sp-bs-checkbox .form-check-input {width:1.18em;height:1.18em}
.sp-bootstrap-app .sp-bs-toggle .form-check-label {display:inline-block;margin:0!important;font-size:13px;font-weight:600;color:#30405a;white-space:normal;line-height:1.4}
.sp-bootstrap-app .sp-bs-toggle .form-check-input:focus-visible {outline:3px solid color-mix(in srgb,var(--sp-primary) 23%,transparent);outline-offset:2px}
.sp-form-modal,.sp-modal {overscroll-behavior:contain}
.sp-form-modal .modal-dialog,.sp-modal .modal-dialog {width:min(94vw,960px);max-width:960px!important;margin:16px auto}
.sp-form-modal .modal-dialog.modal-lg{max-width:740px!important}
.sp-form-modal .modal-content {border:1px solid #e9edf2;border-radius:16px!important;max-height:calc(100dvh - 32px);background:#fff;display:flex;flex-direction:column;overflow:hidden!important}
.sp-form-modal .modal-body.sp-form-body {padding:0 30px 26px!important;overflow-x:hidden;overflow-y:auto;max-height:none;scrollbar-width:thin}
.sp-form-modal .sp-form-heading,.sp-form-modal .form-header {position:relative!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;text-align:left!important;margin:0 -30px 22px!important;padding:22px 30px 19px!important;background:#fbfcfe!important;border-bottom:1px solid #e8edf4!important}
.sp-form-modal .sp-form-heading>div,.sp-form-modal .form-header>div {min-width:0}
.sp-form-modal .sp-form-title,.sp-form-modal .form-title,.sp-form-modal .form-header .h6,.sp-form-modal .form-header h2 {display:block;color:#19283d!important;font-size:18px!important;font-weight:750!important;line-height:1.4!important;letter-spacing:-.02em!important;margin:0 0 5px!important;text-align:left!important}
.sp-form-modal .sp-form-subtitle,.sp-form-modal .form-header .text-secondary,.sp-form-modal .sp-form-heading p{font-size:12px!important;color:#69778b!important;line-height:1.65!important;margin:0!important;text-align:left!important}
.sp-form-modal .sp-form-close{margin-top:2px!important;flex:0 0 auto;opacity:.65}
.sp-form-modal .sp-form-close:hover{opacity:1}
.sp-form-modal .sp-form-grid{--bs-gutter-x:18px;--bs-gutter-y:19px}
.sp-form-modal .sp-form-grid>.col-12{min-width:0}
.sp-form-modal .sp-bs-field .form-label {font-size:12px!important;font-weight:650!important;letter-spacing:0!important;color:#344257!important;line-height:1.4}
.sp-form-modal .sp-bs-field .form-control,.sp-form-modal .sp-bs-field .form-select {min-height:44px!important;border-color:#dbe2eb!important;border-radius:9px!important;font-size:13px!important;max-width:100%!important}
.sp-form-modal .sp-bs-field textarea.form-control {min-height:94px!important;resize:vertical}
.sp-form-modal .sp-bs-field .is-invalid {border-color:#cb475b!important}
.sp-form-modal .sp-bs-field .invalid-feedback {font-size:11.5px!important;margin-top:6px}
.sp-form-modal .sp-bs-field .form-text{line-height:1.45;overflow-wrap:anywhere}
.sp-form-modal .sp-form-actions {position:sticky!important;bottom:-26px!important;z-index:2;background:#fff!important;border-top:1px solid #e9edf3!important;margin:22px -30px -26px!important;padding:17px 30px!important;display:flex!important;justify-content:flex-end!important;flex-wrap:wrap;gap:9px!important}
.sp-form-modal .sp-form-actions .btn {min-height:41px;font-weight:650;border-radius:9px}
.sp-form-modal .sp-bs-toggle.status-switch {padding:10px 14px!important;background:#f6f8fb;border:1px solid #e2e8f0;border-radius:9px;width:fit-content;max-width:100%}
.sp-form-modal .sp-bs-toggle.status-switch .form-check-input{margin:0!important}
.sp-form-modal .sp-form-body>.sp-bootstrap-stack:first-child:has(.form-title){padding-top:22px}
.sp-form-modal .sp-form-body>.sp-bootstrap-stack:first-child:has(.form-title) .form-title{margin:0!important}
.sp-form-modal .sp-form-body>.sp-form-grid:first-child{padding-top:24px}
.sp-bootstrap-app .sp-bs-field.sp-field-error .form-control:focus,.sp-bootstrap-app .sp-bs-field.sp-field-error .form-select:focus{border-color:#cb475b!important;box-shadow:0 0 0 3px rgba(203,71,91,.11)!important}
.sp-platform-register.sp-platform-register {padding:0!important;overflow:hidden!important}
.sp-platform-register .sp-platform-form-head{background:#fbfcfe;border-bottom:1px solid #e9edf2;padding:22px 28px 17px}
.sp-platform-register .sp-platform-form-head h2{margin:0 0 6px;font-size:19px;color:#233149}
.sp-platform-register .sp-platform-form-head p{margin:0;font-size:12px;line-height:1.5;color:#66758b}
.sp-platform-register .sp-platform-form-body{padding:23px 28px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sp-platform-register .sp-platform-form-body label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650;color:#344257;min-width:0}
.sp-platform-register .sp-platform-form-body input,.sp-platform-register .sp-platform-form-body select{min-height:43px;border-radius:9px;background:#fff;font-size:13px}
.sp-platform-register .business-actions.sp-form-actions{display:flex;gap:10px;justify-content:flex-end;margin:0!important;padding:16px 28px;border-top:1px solid #e9edf2;background:white}
.sp-platform-register .business-actions button{min-height:41px;border-radius:9px}
@media(max-width:767px){.sp-form-modal .modal-dialog,.sp-modal .modal-dialog{width:auto;margin:8px!important;max-width:none!important}.sp-form-modal .modal-content{max-height:calc(100dvh - 16px)}.sp-form-modal .modal-body.sp-form-body{padding:0 17px 15px!important}.sp-form-modal .sp-form-heading,.sp-form-modal .form-header{padding:19px 17px 16px!important;margin:0 -17px 17px!important}.sp-form-modal .sp-form-actions{margin:22px -17px -15px!important;padding:13px 17px!important;bottom:-15px!important}.sp-form-modal .sp-form-actions .btn{flex:1 1 128px}.sp-platform-register .sp-platform-form-body{grid-template-columns:1fr;padding:17px!important}.sp-platform-register .sp-platform-form-head{padding:17px}.sp-platform-register .business-actions.sp-form-actions{padding:14px 17px}}
@media(max-width:480px){.sp-form-modal .sp-form-grid{--bs-gutter-y:14px}.sp-form-modal .sp-bs-toggle.status-switch{width:100%;justify-content:flex-start}}
