.spmgl,.spmgl *{box-sizing:border-box}
.spmgl{--spm-bg:#f4f7fc;--spm-ink:#101f38;--spm-muted:#51617a;--spm-line:#dae4f0;--spm-surface:#fff;--spm-shadow:0 20px 65px rgba(12,32,70,.09);font:inherit;color:var(--spm-ink);width:100%;isolation:isolate;overflow-wrap:anywhere}
.spmgl .spmgl-frame{max-width:1100px;margin:22px auto;background:var(--spm-bg);border:1px solid var(--spm-line);border-radius:24px;padding:clamp(16px,3.2vw,32px);box-shadow:var(--spm-shadow)}
.spmgl h2,.spmgl h3,.spmgl h4,.spmgl p{margin:0}
.spmgl .spmgl-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.spmgl .spmgl-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.04em;line-height:1.1}
.spmgl .spmgl-brand small{display:block;color:var(--spm-muted);font-size:10px;letter-spacing:.19em;margin-top:4px}
.spmgl .spmgl-monogram{display:grid;place-items:center;color:white;background:linear-gradient(135deg,var(--spm-primary),var(--spm-accent));width:40px;height:40px;border-radius:12px;font-size:23px}
.spmgl .spmgl-locale{font-weight:700;font-size:12px;color:var(--spm-muted);border:1px solid var(--spm-line);background:#fff;border-radius:20px;padding:8px 11px}
.spmgl .spmgl-hero{background:linear-gradient(120deg,#091a37,#122e60 65%,#1845a4);color:white;border-radius:20px;padding:clamp(22px,4vw,44px);display:flex;justify-content:space-between;gap:16px;align-items:center;overflow:hidden;margin-bottom:22px}
.spmgl .spmgl-eyebrow{display:block;font-size:11px;letter-spacing:.13em;font-weight:800;text-transform:uppercase;color:#89d5fe;margin-bottom:12px}
.spmgl .spmgl-hero h2{color:#fff;font-size:clamp(26px,4.2vw,44px);line-height:1.12;font-weight:800;letter-spacing:-.05em;max-width:650px}
.spmgl .spmgl-hero p{margin-top:12px;color:#d5e5ff;font-size:clamp(14px,1.5vw,17px);line-height:1.7;max-width:620px}
.spmgl .spmgl-hero-decoration{font-size:clamp(58px,9vw,128px);font-weight:200;opacity:.27;flex:0 0 auto}
.spmgl .spmgl-form,.spmgl .spmgl-result,.spmgl .spmgl-status{background:var(--spm-surface);border:1px solid var(--spm-line);border-radius:19px;padding:clamp(18px,3vw,30px);margin-bottom:18px}
.spmgl .spmgl-inputs{display:grid;gap:18px}
.spmgl .spmgl-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.spmgl .spmgl-field{display:grid;gap:7px;color:var(--spm-ink);font-size:14px;font-weight:650;min-width:0}
.spmgl input:not([type="checkbox"]),.spmgl textarea,.spmgl select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #bdccde;border-radius:11px;background:#fff;color:var(--spm-ink);font:inherit;font-size:15px;line-height:1.35;box-shadow:none}
.spmgl input:focus-visible,.spmgl button:focus-visible,.spmgl a:focus-visible{outline:3px solid var(--spm-accent);outline-offset:3px}
.spmgl input:invalid:not(:placeholder-shown){border-color:#cc6d68}
.spmgl .spmgl-field-title{font-weight:750;font-size:15px}
.spmgl .spmgl-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.spmgl .spmgl-option{display:flex;align-items:center;gap:10px;background:#f9fbff;border:1px solid var(--spm-line);padding:12px;border-radius:12px;font-size:14px;cursor:pointer;line-height:1.35}
.spmgl input[type="checkbox"]{accent-color:var(--spm-primary);width:18px;height:18px;flex:0 0 auto;margin:0}
.spmgl .spmgl-option:has(input:checked){background:#eaf1ff;border-color:var(--spm-primary)}
.spmgl .spmgl-form-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;border-top:1px solid var(--spm-line);padding-top:20px;margin-top:22px}
.spmgl .spmgl-form-foot small{color:var(--spm-muted);font-size:12px;max-width:430px}
.spmgl .spmgl-btn{border:1px solid transparent;display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border-radius:11px;text-decoration:none!important;font-weight:750;font-size:14px;line-height:1.3;cursor:pointer;max-width:100%;white-space:normal;transition:transform .14s,filter .14s}
.spmgl .spmgl-btn:hover{transform:translateY(-1px)}
.spmgl .spmgl-btn:disabled{opacity:.55;cursor:wait}
.spmgl .spmgl-btn-primary{background:var(--spm-primary)!important;color:#fff!important}
.spmgl .spmgl-btn-secondary{border-color:#bccddd;color:var(--spm-primary)!important;background:#fff}
.spmgl .spmgl-btn-ghost{border-color:var(--spm-line);background:#f7faff;color:var(--spm-ink)}
.spmgl .spmgl-status{color:#164e76;background:#ecf6ff;font-size:14px}
.spmgl .spmgl-status.spmgl-bad{color:#8c2732;background:#fff1f2;border-color:#fecdd3}
.spmgl [hidden]{display:none!important}
.spmgl .spmgl-result-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--spm-line)}
.spmgl .spmgl-result-top h3{font-size:clamp(22px,3vw,29px);font-weight:800;letter-spacing:-.03em}
.spmgl .spmgl-result .spmgl-eyebrow{color:var(--spm-primary);margin-bottom:4px}
.spmgl .spmgl-output{margin-top:20px}
.spmgl .spmgl-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.spmgl .spmgl-metric{display:grid;gap:10px;background:#f7faff;border:1px solid var(--spm-line);border-radius:12px;padding:15px;min-width:0}
.spmgl .spmgl-metric small{font-size:12px;color:var(--spm-muted);line-height:1.4}
.spmgl .spmgl-metric strong{font-size:clamp(17px,2.2vw,23px);letter-spacing:-.035em;overflow-wrap:anywhere}
.spmgl .spmgl-findings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.spmgl .spmgl-finding{border:1px solid var(--spm-line);padding:14px;border-radius:12px;background:#fafcff}
.spmgl .spmgl-finding.spmgl-issue{border-color:#f0c6a5;background:#fff9f2}
.spmgl .spmgl-finding strong{font-size:14px}.spmgl .spmgl-finding p{color:var(--spm-muted);font-size:13px;margin-top:6px;line-height:1.5}
.spmgl .spmgl-score{display:flex;align-items:center;gap:18px}.spmgl .spmgl-score strong{font-size:36px;color:var(--spm-primary)}.spmgl .spmgl-score p{color:var(--spm-muted);font-size:13px}
.spmgl .spmgl-insights{padding-left:20px;color:var(--spm-ink);display:grid;gap:8px;line-height:1.55;font-size:14px;margin:16px 0}
.spmgl .spmgl-disclaimer{font-size:12px;color:var(--spm-muted);line-height:1.5;margin:14px 0}
.spmgl .spmgl-upsells{border-top:1px solid var(--spm-line);padding-top:18px;display:grid;gap:14px}
.spmgl .spmgl-upsells h4{font-size:18px;font-weight:800}
.spmgl .spmgl-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.spmgl .spmgl-recommend{border:1px solid var(--spm-line);background:#f7faff;border-radius:11px;padding:14px;text-decoration:none!important;display:flex;justify-content:space-between;align-items:center;color:var(--spm-ink)!important;gap:12px;font-size:14px}
.spmgl .spmgl-recommend span{color:var(--spm-primary);font-size:18px}
.spmgl .spmgl-email-panel{border-radius:13px;background:#f6f9ff;padding:18px;margin-top:26px;border:1px solid var(--spm-line)}
.spmgl .spmgl-email-panel h3{font-size:19px;margin-bottom:14px}
.spmgl .spmgl-lead-form{display:grid;gap:13px}.spmgl .spmgl-lead-form>label{font-size:13px;font-weight:650}
.spmgl .spmgl-lead-form .spmgl-row label{display:grid;gap:7px;font-size:13px;font-weight:650}
.spmgl .spmgl-checkbox{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:400!important;color:var(--spm-muted);line-height:1.5}
.spmgl .spmgl-checkbox a{color:var(--spm-primary)}
.spmgl .spmgl-scope p{margin:6px 0}.spmgl .spmgl-note{background:#fff8e8;border:1px solid #f2d7a8;padding:14px;border-radius:12px;font-size:14px}
.spmgl .spmgl-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.spmgl .spmgl-tool-card{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--spm-line);border-radius:16px;padding:23px;text-decoration:none!important;min-height:182px;color:var(--spm-ink)!important;box-shadow:0 8px 22px rgba(16,32,70,.025)}
.spmgl .spmgl-tool-card:hover{border-color:var(--spm-primary)}.spmgl .spmgl-tool-card strong{font-size:17px}.spmgl .spmgl-tool-card small{color:var(--spm-muted);line-height:1.45}
.spmgl .spmgl-card-icon{display:grid;place-items:center;background:#eaf1ff;color:var(--spm-primary);border-radius:11px;height:35px;width:35px;font-size:20px}
.spmgl .spmgl-card-arrow{position:absolute;bottom:20px;right:20px;font-size:20px;color:var(--spm-primary)}
.spmgl .spmgl-hub-widget{margin-top:24px}.spmgl .spmgl-hub-widget .spmgl-frame{padding:0;border:none;box-shadow:none;margin:0;background:transparent}.spmgl .spmgl-hub-widget .spmgl-top{display:none}
.spmgl .spmgl-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;color:var(--spm-muted);font-size:12px;padding:8px 2px 0}.spmgl .spmgl-footer a{color:var(--spm-muted);text-decoration:none}
.spmgl .spmgl-hp{position:absolute!important;left:-99999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:780px){.spmgl .spmgl-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spmgl .spmgl-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.spmgl .spmgl-frame{padding:13px;border-radius:14px}.spmgl .spmgl-hero-decoration{display:none}.spmgl .spmgl-row,.spmgl .spmgl-service-grid,.spmgl .spmgl-metrics,.spmgl .spmgl-findings,.spmgl .spmgl-recommendations,.spmgl .spmgl-tool-grid{grid-template-columns:1fr}.spmgl .spmgl-hero{padding:22px}.spmgl .spmgl-result-top .spmgl-btn{width:100%}.spmgl .spmgl-form-foot .spmgl-btn{width:100%}}
@media print{body.spmgl-printing *{visibility:hidden!important}body.spmgl-printing .spmgl.spmgl-active-print,body.spmgl-printing .spmgl.spmgl-active-print *{visibility:visible!important}body.spmgl-printing .spmgl.spmgl-active-print{position:absolute!important;inset:0 auto auto 0!important;width:100%!important;box-shadow:none!important}body.spmgl-printing .spmgl.spmgl-active-print .spmgl-top,body.spmgl-printing .spmgl.spmgl-active-print .spmgl-hero,body.spmgl-printing .spmgl.spmgl-active-print .spmgl-form,body.spmgl-printing .spmgl.spmgl-active-print .spmgl-status,body.spmgl-printing .spmgl.spmgl-active-print .spmgl-email-panel,body.spmgl-printing .spmgl.spmgl-active-print button,body.spmgl-printing .spmgl.spmgl-active-print .spmgl-footer{display:none!important}body.spmgl-printing .spmgl.spmgl-active-print .spmgl-result{border:none!important;display:block!important}body.spmgl-printing .spmgl.spmgl-active-print .spmgl-frame{box-shadow:none!important;border:none!important;background:white!important}body.spmgl-printing .spmgl.spmgl-active-print .spmgl-finding{break-inside:avoid}}

/* 0.2.0 - editable quote scope, all layout scoped to plugin */
.spmgl .spmgl-offer-intro{margin-bottom:16px;padding:16px 18px;border-radius:15px;border:1px solid var(--spm-line);background:var(--spm-surface)}
.spmgl .spmgl-offer-intro h3{font-size:19px;margin-bottom:7px}
.spmgl .spmgl-offer-intro p{color:var(--spm-muted);line-height:1.6;font-size:14px}
.spmgl .spmgl-field select,.spmgl .spmgl-field textarea{display:block;width:100%;border:1px solid var(--spm-line);border-radius:11px;background:#fff;color:var(--spm-ink);padding:12px;min-height:48px;resize:vertical}
.spmgl .spmgl-service-grid-qty{grid-template-columns:repeat(2,minmax(0,1fr))}
.spmgl .spmgl-service-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--spm-line);border-radius:12px;background:#fff;min-width:0}
.spmgl .spmgl-service-item .spmgl-option{flex:1;min-width:0;border:0!important;padding:4px!important;background:transparent!important}
.spmgl .spmgl-qty-label{font-size:11px;color:var(--spm-muted);display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.spmgl .spmgl-qty-label input{max-width:64px;min-height:35px;text-align:center;padding:6px;border:1px solid var(--spm-line);border-radius:9px}
@media(max-width:700px){.spmgl .spmgl-service-grid-qty{grid-template-columns:1fr}}
/* v0.3: the hub is a single page; an active tool replaces the grid. */
.spmgl .spmgl-hub-return{display:flex;gap:16px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:18px;color:var(--spm-muted);font-size:13px}
.spmgl .spmgl-hub-widget{margin-top:0}.spmgl .spmgl-hub-widget > .spmgl > .spmgl-frame{padding:0;border:0;margin:0;box-shadow:none;background:transparent}
.spmgl .spmgl-hub-widget > .spmgl .spmgl-top,.spmgl .spmgl-hub-widget > .spmgl .spmgl-footer{display:none}
.spmgl .spmgl-hub-note{color:var(--spm-muted);font-size:13px;margin-top:18px}
.spmgl .spmgl-wizard-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 22px}
.spmgl .spmgl-wizard-steps span{background:#edf3fb;border:1px solid var(--spm-line);border-radius:10px;padding:12px 8px;text-align:center;font-weight:700;font-size:12px;color:var(--spm-muted)}
.spmgl .spmgl-wizard-steps span.is-active{background:var(--spm-primary);border-color:var(--spm-primary);color:#fff}
.spmgl .spmgl-wizard-step{display:grid;gap:16px;min-width:0}.spmgl .spmgl-wizard-step[hidden]{display:none!important}
.spmgl .spmgl-wizard-step h3{font-size:clamp(20px,2.4vw,27px)}.spmgl .spmgl-wizard-step>p{color:var(--spm-muted);line-height:1.55}
.spmgl .spmgl-modules-grid{margin:3px 0 7px;grid-template-columns:repeat(2,minmax(0,1fr))}
.spmgl .spmgl-wizard-navigation{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px}
.spmgl .spmgl-wizard-summary{padding:18px;border-radius:12px;background:#eef5ff;border:1px solid var(--spm-line);display:flex;flex-wrap:wrap;gap:8px}
.spmgl .spmgl-wizard-summary strong{width:100%}.spmgl .spmgl-wizard-summary span{border-radius:999px;padding:6px 10px;background:white;border:1px solid var(--spm-line);font-size:13px}
.spmgl .spmgl-selection-warning{color:#b91c1c!important;font-weight:700}.spmgl .spmgl-quote-package{font-size:20px;margin-bottom:14px}
.spmgl .spmgl-quote-detail{margin:20px 0;overflow-x:auto}.spmgl .spmgl-quote-detail h4{margin-bottom:10px}
.spmgl .spmgl-breakdown{border-collapse:collapse;width:100%;font-size:13px;min-width:560px}
.spmgl .spmgl-breakdown th,.spmgl .spmgl-breakdown td{border-bottom:1px solid var(--spm-line);padding:11px 8px;text-align:left}
.spmgl .spmgl-breakdown td:last-child{text-align:right;font-weight:700}
@media(max-width:640px){.spmgl .spmgl-wizard-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.spmgl .spmgl-modules-grid{grid-template-columns:1fr}.spmgl .spmgl-hub-return{align-items:start}}

/* 0.4.0: modular 30-day plans and four additional independent business outcomes */
.spmgl .spmgl-plan{margin:18px 0 22px}.spmgl .spmgl-plan>h4{font-size:20px;margin:0 0 12px}
.spmgl .spmgl-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.spmgl .spmgl-plan-step{background:var(--spm-surface);border:1px solid var(--spm-line);padding:15px;border-radius:13px;break-inside:avoid}
.spmgl .spmgl-plan-step small{display:block;font-weight:800;color:var(--spm-primary);margin-bottom:8px}
.spmgl .spmgl-plan-step p{margin:0;line-height:1.55;font-size:14px}
.spmgl .spmgl-tool-card:focus-visible,.spmgl .spmgl-btn:focus-visible{outline:3px solid var(--spm-primary);outline-offset:3px}
@media(max-width:760px){.spmgl .spmgl-plan-grid{grid-template-columns:1fr}}
@media print{.spmgl .spmgl-plan-step{background:#fff!important}}
