.sp-compact-assistant{border:1px solid #dce4d8;border-radius:14px;background:#f7f6f1;padding:20px;margin:20px 0;color:#293029}.sp-compact-head strong{font-size:17px}.sp-compact-head p{margin:8px 0 15px;font-size:14px;line-height:1.5}.sp-compact-generate,.sp-compact-again{border:0!important;border-radius:28px!important;background:#687f62!important;color:#fff!important;padding:12px 20px!important;cursor:pointer;font-size:13px!important;font-weight:600;letter-spacing:.04em}.sp-compact-generate:disabled,.sp-compact-again:disabled{opacity:.55;cursor:wait}.sp-compact-progress{margin-top:16px;padding:15px;background:#e8eee5;border-radius:10px}.sp-compact-progress strong{display:block;font-size:14px}.sp-compact-progress p{margin:7px 0;font-size:14px}.sp-compact-progress small{color:#596959}.sp-compact-spinner{float:right;width:22px;height:22px;border:3px solid #c9d5c3;border-top-color:#687f62;border-radius:50%;animation:sp-spin 1s linear infinite}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-compact-status{font-size:14px;margin:10px 0}.sp-compact-actions{margin-top:12px}.sp-compact-actions p{font-size:13px;margin:10px 0 0}.sp-compact-assistant [hidden]{display:none!important}

.sp-apf-text-meter{font-size:12px;color:#5d7059;margin:5px 0 12px}.sp-apf-text-meter.sp-invalid{color:#a12d2d;font-weight:600}.sp-compact-assistant[hidden]{display:none!important}

/* 2.4.8: explicit artwork selection when source occasion differs */
.sp-transfer-theme-choice{margin:16px 0;padding:18px 20px;border:1px solid #c8d4c4;border-radius:12px;background:#f6f8f3;display:grid;gap:12px;max-width:100%;box-sizing:border-box}
.sp-transfer-theme-choice strong{font-size:1.05rem}
.sp-transfer-theme-choice p{margin:0;line-height:1.55}
.sp-transfer-theme-choice select{width:100%;max-width:100%;min-height:44px;padding:10px;border:1px solid #b4bdb0;border-radius:8px;background:white}
.sp-transfer-theme-choice button{min-height:44px;padding:10px 18px;border-radius:8px;background:#687f62;color:white;border:0;cursor:pointer}
.sp-transfer-theme-choice button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:767px){.sp-transfer-theme-choice{padding:14px;gap:10px}.sp-transfer-theme-choice button{width:100%}}

.sp-transfer-choice-label{font-weight:600;color:#334c35}.sp-transfer-consent{display:flex;gap:10px;align-items:flex-start;line-height:1.45}.sp-transfer-consent input{flex:0 0 auto;margin-top:5px}.sp-transfer-theme-choice{border-width:2px}.sp-transfer-theme-choice button{font-weight:600}

.sp-compact-inputs{display:grid;gap:12px;margin:12px 0}.sp-compact-inputs label{display:grid;gap:5px;font-size:13px;font-weight:600}.sp-compact-inputs input,.sp-compact-inputs textarea,.sp-compact-inputs select{width:100%;max-width:100%;box-sizing:border-box;background:white;border:1px solid #d4d9d0;border-radius:6px;padding:9px;font:inherit}.sp-compact-variants{display:grid;gap:8px;margin-top:14px}.sp-compact-variant{background:#fff!important;color:#293029!important;border:1px solid #d4dfd0!important;border-radius:9px!important;padding:12px!important;text-align:left!important;white-space:normal!important;font-size:14px!important;cursor:pointer}.sp-compact-variant.selected{border:2px solid #687f62!important;background:#eaf0e6!important}.sp-compact-variants[hidden]{display:none!important}

/* 2.5.4: preserve the capitalization of generated engraving text */
.sp-studio-variant,.sp-studio-variant *, .sp-compact-variant,.sp-compact-variant *{text-transform:none!important;letter-spacing:normal!important;white-space:pre-line}

/* 2.5.5: selected text has a clear checkmark; keep text case intact. */
.sp-compact-variant{position:relative;text-transform:none!important;font-variant:normal!important;letter-spacing:normal!important;white-space:pre-line!important}
.sp-compact-variant.selected{padding-right:38px!important;box-shadow:0 0 0 1px #687f62}
.sp-compact-variant.selected::after{content:"✓";position:absolute;right:12px;top:10px;color:#446c3c;font-weight:700;font-size:18px}

/* 2.5.6: legible proposals, explicit applied-state and clear hierarchy. */
.sp-compact-variant{display:flex!important;flex-direction:column!important;gap:7px!important;font-weight:400!important;line-height:1.48!important}
.sp-compact-variant-heading{display:block;font-size:11px;font-weight:600;color:#526d4f}
.sp-compact-variant-body{display:block;font-size:14px;font-weight:400!important;line-height:1.5;white-space:pre-line!important}
.sp-compact-variant-mark{display:block;font-size:11px;font-weight:600;color:#526d4f}
.sp-compact-variant.selected{background:#edf3e9!important;border-color:#687f62!important}
.sp-compact-variant.selected .sp-compact-variant-mark{color:#365b32}

/* 2.6.0: Compact by default; preserve generated text and APF state. */
.sp-compact-assistant{padding:0!important;overflow:hidden}
.sp-compact-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:16px 20px;border:0;background:transparent;text-align:left;color:inherit;cursor:pointer;font:inherit}
.sp-compact-toggle-icon{color:#687f62;font-size:22px}
.sp-compact-toggle .sp-compact-head{flex:1}
.sp-compact-toggle .sp-compact-head p{margin:5px 0 0}
.sp-compact-chevron{font-size:22px;transition:transform .2s}
.sp-compact-open .sp-compact-chevron{transform:rotate(180deg)}
.sp-compact-body{padding:0 20px 20px}
.sp-compact-body[hidden]{display:none!important}
.sp-compact-toggle:focus-visible{outline:2px solid #687f62;outline-offset:-3px}

/* 2.6.2: keep the compact assistant invitation readable even under Astra/Elementor button typography. */
.sp-compact-assistant .sp-compact-toggle .sp-compact-head,
.sp-compact-assistant .sp-compact-toggle .sp-compact-head strong,
.sp-compact-assistant .sp-compact-toggle .sp-compact-head p {
  text-transform: none !important;
  font-variant: normal !important;
  letter-spacing: normal !important;
}
.sp-compact-assistant .sp-compact-toggle .sp-compact-head strong {
  display: block; font-size: 16px; font-weight: 650; line-height: 1.35;
}
.sp-compact-assistant .sp-compact-toggle .sp-compact-head p {
  font-size: 14px; line-height: 1.5; font-weight: 400; margin: 4px 0 0;
}

/* 2.7.0: natural button typography */
.sp-compact-assistant .sp-compact-generate,.sp-compact-assistant .sp-compact-again{text-transform:none!important;letter-spacing:normal!important}

.sp-quality-feedback{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0;color:#536b51;font-size:13px}.sp-quality-feedback button{background:#eef3ea;border:1px solid #d3dfcf;border-radius:9px;padding:6px 10px;cursor:pointer}

.sp-input-counter{display:block;text-align:right;margin-top:5px;font-size:12px;color:#687d61}.sp-input-counter-max{color:#a12b2b}
