/* ---------- Frontend formos ---------- */
.sp-form { font-family: inherit; }
/* Bendra 420px riba taikoma TIK įprastoms (shortcode/inline) formoms.
   Popup ir footer apvalkalams ji NETAIKOMA, kitaip apriboja vidinį
   .sp-form-inner elementą, nepriklausomai nuo pasirinkto "Popup dydis". */
.sp-form:not(.sp-form-popup):not(.sp-form-footer) { max-width: 420px; }
.sp-form-popup, .sp-form-footer {
    position: fixed; z-index: 99999;
}
/* Numatyta (centrinė) pozicija – pilnas fonas per visą ekraną su centruotu langu. */
.sp-form-popup.sp-popup-pos-center { top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
/* Kampų/kraštų pozicijos – be pilno fono, langas prikabintas prie konkretaus krašto. */
.sp-form-popup.sp-popup-pos-top-left { top: 20px; left: 20px; }
.sp-form-popup.sp-popup-pos-top-right { top: 20px; right: 20px; }
.sp-form-popup.sp-popup-pos-bottom-left { bottom: 20px; left: 20px; }
.sp-form-popup.sp-popup-pos-bottom-right { bottom: 20px; right: 20px; }
.sp-form-popup.sp-popup-pos-top-center { top: 20px; left: 50%; transform: translateX(-50%); }
.sp-form-popup.sp-popup-pos-bottom-center { bottom: 20px; left: 50%; transform: translateX(-50%); }
.sp-form-popup .sp-form-overlay-bg { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.sp-form-popup .sp-form-inner { position: relative; background: #fff; padding: 32px; border-radius: 12px; width: 90%; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.sp-form-row { display: flex; gap: 16px; align-items: center; }
.sp-form-row-left .sp-form-image-col,
.sp-form-row-right .sp-form-image-col { flex: 0 0 38%; }
.sp-form-row .sp-form-text-col { flex: 1; min-width: 0; }
.sp-form-footer { bottom: 0; left: 0; width: 100%; background: #1b1b1f; color: #fff; padding: 16px; }
.sp-form-footer .sp-form-inner { max-width: 900px; margin: 0 auto; display: flex; align-items: center; gap: 16px; }
.sp-form-close { position: absolute; top: 10px; right: 14px; background: none; border: none; font-size: 22px; cursor: pointer; }
.sp-signup-form { display: flex; gap: 8px; margin-top: 12px; }
.sp-signup-form input { padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; box-sizing: border-box; }
.sp-signup-form button { padding: 10px 18px; border: none; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 600; }

/* "Šalia lauko" – mygtukas ir laukas vienoje eilutėje, jei telpa; siauresniame konteineryje mygtukas nukrenta žemyn KAIRĖJE (numatytas naršyklės flex-wrap elgesys). */
.sp-signup-form.sp-btn-inline { flex-wrap: wrap; }
.sp-signup-form.sp-btn-inline input { flex: 1 1 160px; }
.sp-signup-form.sp-btn-inline button { flex: 0 0 auto; }

/* "Po lauku" variantai – mygtukas visada AIŠKIAI atskiroje eilutėje po el. pašto lauku, nepriklausomai nuo konteinerio pločio. */
.sp-signup-form.sp-btn-below-left,
.sp-signup-form.sp-btn-below-center,
.sp-signup-form.sp-btn-below-full {
    flex-direction: column;
}
.sp-signup-form.sp-btn-below-left input,
.sp-signup-form.sp-btn-below-center input,
.sp-signup-form.sp-btn-below-full input {
    width: 100%;
}
.sp-signup-form.sp-btn-below-left button { align-self: flex-start; }
.sp-signup-form.sp-btn-below-center button { align-self: center; }
.sp-signup-form.sp-btn-below-full button { align-self: stretch; width: 100%; }
.sp-form-message { flex-basis: 100%; font-size: 13px; margin-top: 4px; }
.sp-form-message.sp-success { color: #1a7f37; }
.sp-form-message.sp-error { color: #c1121f; }

/* ---------- Admin skydelis ---------- */
.sp-admin-wrap { max-width: 1200px; }
.sp-stat-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 16px 0 24px; }
.sp-stat-card { background: #fff; border: 1px solid #e2e2e2; border-radius: 10px; padding: 16px; }
.sp-stat-card .sp-stat-number { font-size: 26px; font-weight: 700; }
.sp-stat-card .sp-stat-label { color: #666; font-size: 13px; }

/* ---------- Workflow builder ---------- */
#sp-workflow-canvas-wrap { position: relative; overflow: auto; border: 1px solid #ddd; background: #f7f7f9; height: 640px; }
#sp-workflow-canvas { position: relative; width: 2400px; height: 1600px; background-image: radial-gradient(#ddd 1px, transparent 1px); background-size: 20px 20px; }
.sp-node {
    position: absolute; width: 200px; background: #fff; border: 2px solid #6c4ee3; border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,.08); cursor: grab; user-select: none;
}
.sp-node.sp-node-trigger { border-color: #1a7f37; }
.sp-node.sp-node-condition { border-color: #b8860b; }
.sp-node-header { padding: 8px 10px; font-weight: 600; font-size: 13px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items:center; }
.sp-node-body { padding: 8px 10px; font-size: 12px; color: #444; }
.sp-node-delete { cursor:pointer; color:#c1121f; font-weight:bold; }
.sp-node-port { width: 14px; height: 14px; border-radius: 50%; background: #6c4ee3; position: absolute; cursor: crosshair; border: 2px solid #fff; }
.sp-node-port.sp-port-out { right: -8px; top: 50%; transform: translateY(-50%); }
.sp-node-port.sp-port-out-yes { right: -8px; top: 30%; background:#1a7f37; }
.sp-node-port.sp-port-out-no { right: -8px; top: 70%; background:#c1121f; }
.sp-node-port.sp-port-in { left: -8px; top: 50%; transform: translateY(-50%); background:#333; }
#sp-workflow-toolbar { display: flex; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
#sp-workflow-toolbar button { padding: 6px 12px; }
.sp-workflow-connections { position: absolute; top:0; left:0; pointer-events: none; }