.egp-tool-app {
    --egp-ink: #101828;
    --egp-muted: #475467;
    --egp-line: #d0d5dd;
    --egp-soft: #f7f9fc;
    --egp-pink: #c70d46;
    --egp-teal: #087b72;
    color: var(--egp-ink);
    border: 1px solid var(--egp-line);
    border-top: 4px solid var(--egp-pink);
    border-radius: 8px;
    background: #fff;
    padding: clamp(20px, 4vw, 42px);
    box-shadow: 0 18px 50px rgba(16, 24, 40, .08);
    font-size: 16px;
    line-height: 1.55;
}
.egp-tool-app *, .egp-tool-app *::before, .egp-tool-app *::after { box-sizing: border-box; }
.egp-tool-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 26px; }
.egp-tool-header h2 { margin: 3px 0 8px; color: var(--egp-ink); font-size: clamp(28px, 4vw, 42px); line-height: 1.12; letter-spacing: 0; }
.egp-tool-header p { margin: 0; color: var(--egp-muted); max-width: 760px; }
.egp-tool-kicker { color: var(--egp-pink) !important; font-weight: 800; text-transform: uppercase; font-size: 13px; }
.egp-tool-status, .egp-tool-cache { flex: 0 0 auto; border-radius: 999px; padding: 7px 11px; font-size: 12px; font-weight: 800; }
.egp-tool-status.is-ready, .egp-tool-cache { color: #065f58; background: #e7f8f5; }
.egp-tool-status.needs-provider { color: #8a1538; background: #fff0f4; }
.egp-tool-notice, .egp-tool-error { border-left: 4px solid var(--egp-pink); background: #fff4f7; padding: 14px 16px; margin: 0 0 22px; color: #71112f; }
.egp-tool-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.egp-tool-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.egp-tool-field.wide, .egp-tool-check, .egp-tool-actions { grid-column: 1 / -1; }
.egp-tool-field > span { font-weight: 750; color: var(--egp-ink); }
.egp-tool-field small { color: var(--egp-muted); font-size: 13px; }
.egp-tool-field input, .egp-tool-field textarea, .egp-tool-field select, .egp-tool-editor-result textarea {
    width: 100%; border: 1px solid #98a2b3; border-radius: 6px; background: #fff; color: var(--egp-ink);
    padding: 12px 14px; font: inherit; line-height: 1.45;
}
.egp-tool-field textarea { resize: vertical; min-height: 130px; }
.egp-tool-field input:focus, .egp-tool-field textarea:focus, .egp-tool-field select:focus { outline: 3px solid rgba(199, 13, 70, .15); border-color: var(--egp-pink); }
.egp-tool-check { display: flex; gap: 10px; align-items: flex-start; color: var(--egp-muted); }
.egp-tool-check input { margin-top: 5px; width: 18px; height: 18px; accent-color: var(--egp-pink); }
.egp-tool-live-summary { grid-column: 1 / -1; border-left: 4px solid var(--egp-teal); background: #f0fbf9; color: #065f58; padding: 11px 14px; font-weight: 750; }
.egp-editor-toolbar { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; border: 1px solid var(--egp-line); border-radius: 6px; background: var(--egp-soft); padding: 8px; }
.egp-editor-toolbar button { min-width: 42px; min-height: 40px; border: 1px solid #98a2b3; border-radius: 5px; background: #fff; color: var(--egp-ink); font: inherit; font-weight: 800; cursor: pointer; }
.egp-editor-toolbar button:hover, .egp-editor-toolbar button:focus-visible { border-color: var(--egp-pink); color: var(--egp-pink); outline: 0; }
.egp-tool-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 3px; }
.egp-tool-actions button { min-height: 44px; border-radius: 6px; border: 1px solid var(--egp-ink); padding: 10px 18px; font: inherit; font-weight: 800; cursor: pointer; }
.egp-tool-run { background: var(--egp-pink); color: #fff; border-color: var(--egp-pink) !important; }
.egp-tool-run:hover { background: #a80b3b; }
.egp-tool-run:disabled { opacity: .55; cursor: not-allowed; }
.egp-tool-reset, .egp-tool-cancel { background: #fff; color: var(--egp-ink); }
.egp-tool-progress { height: 8px; margin: 24px 0 0; background: #eaecf0; overflow: hidden; border-radius: 4px; }
.egp-tool-progress span { display: block; width: 0; height: 100%; background: var(--egp-teal); transition: width .2s ease; }
.egp-tool-output { margin-top: 28px; }
.egp-tool-working { color: var(--egp-muted); }
.egp-tool-result-title { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.egp-tool-result-title h3, .egp-tool-output > h3 { margin: 0; font-size: 24px; line-height: 1.25; }
.egp-tool-result-actions, .egp-tool-inline-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 20px; }
.egp-tool-result-actions button, .egp-tool-inline-actions button {
    min-height: 42px; border: 1px solid var(--egp-ink); border-radius: 6px; padding: 9px 14px;
    background: #fff; color: var(--egp-ink); font: inherit; font-size: 14px; font-weight: 800; cursor: pointer;
}
.egp-tool-result-actions .egp-tool-order { background: var(--egp-teal); border-color: var(--egp-teal); color: #fff; }
.egp-tool-result-actions button:hover, .egp-tool-inline-actions button:hover { border-color: var(--egp-pink); color: var(--egp-pink); }
.egp-tool-result-actions .egp-tool-order:hover { background: #05675f; border-color: #05675f; color: #fff; }
.egp-tool-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; margin: 0 0 22px; }
.egp-tool-metric { border: 1px solid var(--egp-line); border-radius: 6px; padding: 14px; min-width: 0; background: var(--egp-soft); }
.egp-tool-metric dt { color: var(--egp-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.egp-tool-metric dd { margin: 4px 0 0; color: var(--egp-ink); font-size: 22px; font-weight: 800; overflow-wrap: anywhere; }
.egp-tool-table-section { margin: 0 0 24px; }
.egp-tool-table-section h4 { margin: 0 0 10px; font-size: 18px; line-height: 1.3; color: var(--egp-ink); }
.egp-tool-table-filter { width: min(100%, 340px); min-height: 42px; margin: 0 0 10px; border: 1px solid #98a2b3; border-radius: 6px; padding: 9px 12px; font: inherit; }
.egp-tool-table-filter:focus { outline: 3px solid rgba(199, 13, 70, .15); border-color: var(--egp-pink); }
.egp-tool-table-wrap { overflow-x: auto; border: 1px solid var(--egp-line); border-radius: 6px; margin: 0; }
.egp-tool-table { width: 100%; min-width: 660px; border-collapse: collapse; margin: 0; }
.egp-tool-table th, .egp-tool-table td { padding: 12px 14px; border-bottom: 1px solid #eaecf0; text-align: left; vertical-align: top; font-size: 14px; }
.egp-tool-table th { background: var(--egp-soft); color: #344054; font-weight: 800; }
.egp-tool-sort { display: inline-flex; align-items: center; min-height: 34px; padding: 2px 20px 2px 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; position: relative; text-align: left; }
.egp-tool-sort::after { content: "\2195"; position: absolute; right: 2px; color: #667085; }
.egp-tool-sort[data-direction="asc"]::after { content: "\2191"; color: var(--egp-pink); }
.egp-tool-sort[data-direction="desc"]::after { content: "\2193"; color: var(--egp-pink); }
.egp-tool-sort:focus-visible { outline: 2px solid var(--egp-pink); outline-offset: 2px; }
.egp-tool-table tr:last-child td { border-bottom: 0; }
.egp-tool-table a { color: var(--egp-pink); overflow-wrap: anywhere; }
.egp-tool-notes { border-left: 4px solid var(--egp-teal); padding: 14px 18px; background: #f0fbf9; }
.egp-tool-notes h3 { margin: 0 0 7px; font-size: 17px; }
.egp-tool-notes ul { margin: 0; padding-left: 20px; }
.egp-tool-contexts { margin: 0 0 22px; border: 1px solid var(--egp-line); border-radius: 6px; padding: 16px 18px; }
.egp-tool-contexts h4 { margin: 0 0 10px; font-size: 18px; }
.egp-tool-contexts ol { margin: 0; padding-left: 24px; }
.egp-tool-contexts li + li { margin-top: 8px; }
.egp-tool-contexts mark { background: #ffe5ee; color: #71112f; padding: 1px 3px; }
.egp-tool-provider-link { display: inline-flex; margin: 0 0 22px; color: var(--egp-pink); font-weight: 800; }
.egp-tool-editor-result { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-bottom: 22px; }
.egp-tool-editor-pane { min-width: 0; }
.egp-tool-editor-pane textarea { min-height: 330px; margin: 0 0 10px; resize: vertical; }
.egp-tool-preview { width: 100%; min-height: 330px; border: 1px solid #98a2b3; border-radius: 6px; background: #fff; }
.egp-tool-prefill-note { margin: 8px 0 0; border-left: 3px solid var(--egp-teal, #087b72); padding: 8px 11px; background: #f0fbf9; color: #065f58; font-size: 14px; }
.egp-tool-admin-note { border: 1px dashed #c70d46; padding: 12px; color: #8a1538; background: #fff4f7; }
@media (max-width: 720px) {
    .egp-tool-header { flex-direction: column; }
    .egp-tool-form, .egp-tool-editor-result { grid-template-columns: 1fr; }
    .egp-tool-field, .egp-tool-field.wide, .egp-tool-check, .egp-tool-actions, .egp-tool-live-summary, .egp-editor-toolbar { grid-column: 1; }
    .egp-tool-status { align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .egp-tool-progress span { transition: none; } }

/* Shared tool landing-page system. */
.egp-tool-page { --egpp-ink:#101828; --egpp-copy:#344054; --egpp-muted:#667085; --egpp-line:#d0d5dd; --egpp-pink:#c70d46; --egpp-teal:#087b72; color:var(--egpp-copy); font-size:17px; line-height:1.7; }
.egp-tool-page *, .egp-tool-page *::before, .egp-tool-page *::after { box-sizing:border-box; }
.egp-tool-page .egp-page-band { width:100vw; margin-left:calc(50% - 50vw); padding:68px 0; }
.egp-tool-page .egp-page-shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.egp-tool-page .egp-page-hero { padding:36px 0 30px; background:#f6f8fb; border-bottom:1px solid #e4e7ec; }
.egp-tool-page .egp-page-breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; color:var(--egpp-muted); font-size:14px; }
.egp-tool-page .egp-page-breadcrumbs a { color:var(--egpp-pink); }
.egp-tool-page .egp-page-kicker { margin:0 0 10px; color:var(--egpp-pink); font-size:13px; font-weight:850; text-transform:uppercase; }
.egp-tool-page h1, .egp-tool-page h2, .egp-tool-page h3, .egp-tool-page h4 { color:var(--egpp-ink); letter-spacing:0; }
.egp-tool-page h1 { max-width:900px; margin:0 0 14px; font-size:clamp(40px, 6vw, 58px); line-height:1.05; }
.egp-tool-page h2 { margin:0 0 18px; font-size:clamp(30px, 4vw, 43px); line-height:1.14; }
.egp-tool-page h3 { margin:0 0 9px; font-size:21px; line-height:1.3; }
.egp-tool-page p { margin:0 0 18px; }
.egp-tool-page .egp-page-lead { max-width:850px; color:var(--egpp-copy); font-size:20px; line-height:1.5; }
.egp-tool-page .egp-page-trust { display:flex; flex-wrap:wrap; gap:9px 24px; margin:16px 0 0; padding:14px 0 0; border-top:1px solid var(--egpp-line); color:var(--egpp-muted); font-size:14px; }
.egp-tool-page .egp-page-trust strong { color:var(--egpp-ink); }
.egp-tool-page .egp-page-tool { padding-top:28px; background:#fff; }
.egp-tool-page .egp-page-tool-note { margin:0 0 14px; color:var(--egpp-muted); font-size:14px; }
.egp-tool-page .egp-page-soft { background:#f7f9fc; }
.egp-tool-page .egp-page-dark { background:var(--egpp-ink); color:#d0d5dd; }
.egp-tool-page .egp-page-dark h2, .egp-tool-page .egp-page-dark h3 { color:#fff; }
.egp-tool-page .egp-page-dark a { color:#fda4af; }
.egp-tool-page .egp-page-split { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:56px; align-items:start; }
.egp-tool-page .egp-page-checks { margin:0; padding:0; list-style:none; }
.egp-tool-page .egp-page-checks li { position:relative; margin:0; padding:13px 0 13px 28px; border-bottom:1px solid #e4e7ec; }
.egp-tool-page .egp-page-checks li::before { content:""; position:absolute; left:0; top:22px; width:10px; height:10px; border:3px solid var(--egpp-teal); border-radius:50%; }
.egp-tool-page .egp-page-example { border-left:5px solid var(--egpp-teal); padding:4px 0 4px 24px; }
.egp-tool-page .egp-page-example strong { color:var(--egpp-ink); }
.egp-tool-page .egp-page-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; counter-reset:step; }
.egp-tool-page .egp-page-step { border-top:3px solid var(--egpp-pink); padding-top:18px; counter-increment:step; }
.egp-tool-page .egp-page-step::before { content:"0" counter(step); display:block; margin-bottom:9px; color:var(--egpp-pink); font-size:13px; font-weight:850; }
.egp-tool-page .egp-page-related { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.egp-tool-page .egp-page-related a { display:block; min-height:100%; border:1px solid var(--egpp-line); border-radius:6px; padding:18px; color:var(--egpp-ink); text-decoration:none; }
.egp-tool-page .egp-page-related a:hover { border-color:var(--egpp-pink); color:var(--egpp-pink); }
.egp-tool-page .egp-page-related strong { display:block; margin-bottom:5px; }
.egp-tool-page .egp-page-related span { display:block; color:var(--egpp-muted); font-size:14px; }
.egp-tool-page .egp-page-faq details { border-bottom:1px solid var(--egpp-line); }
.egp-tool-page .egp-page-faq summary { cursor:pointer; padding:18px 34px 18px 0; color:var(--egpp-ink); font-weight:800; }
.egp-tool-page .egp-page-faq details p { max-width:900px; padding:0 0 18px; }
.egp-tool-page .egp-page-order-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr); gap:52px; align-items:start; }
.egp-tool-page .egp-page-form { border-radius:8px; background:#fff; color:var(--egpp-copy); padding:24px; }
.egp-tool-page .egp-page-form .wpforms-container { margin:0 !important; }
.egp-tool-page .egp-page-form .wpforms-field-label { color:var(--egpp-ink) !important; }
.egp-tool-page .egp-page-form input, .egp-tool-page .egp-page-form textarea { border:1px solid #98a2b3 !important; border-radius:6px !important; background:#fff !important; color:var(--egpp-ink) !important; }
.egp-tool-page .egp-page-form button[type="submit"] { min-height:48px !important; border:0 !important; border-radius:6px !important; background:var(--egpp-pink) !important; color:#fff !important; font-weight:850 !important; }
.egp-tool-page .egp-page-form button[type="submit"]:hover { background:#a80b3b !important; }
.egp-tool-page .egp-page-small { color:var(--egpp-muted); font-size:14px; }
@media (max-width:820px) {
    .egp-tool-page .egp-page-split, .egp-tool-page .egp-page-order-grid { grid-template-columns:1fr; gap:34px; }
    .egp-tool-page .egp-page-steps, .egp-tool-page .egp-page-related { grid-template-columns:1fr; }
}
@media (max-width:560px) {
    .egp-tool-page { font-size:16px; }
    .egp-tool-page .egp-page-band { padding:50px 0; }
    .egp-tool-page .egp-page-shell { width:min(100% - 28px, 1180px); }
    .egp-tool-page .egp-page-hero { padding-top:30px; }
    .egp-tool-page h1 { font-size:40px; }
    .egp-tool-page .egp-page-lead { font-size:18px; }
    .egp-tool-page .egp-page-form { padding:16px; }
}

/* Tools hub. */
.egp-tool-hub { --egph-ink:#101828; --egph-copy:#344054; --egph-muted:#667085; --egph-line:#d0d5dd; --egph-pink:#c70d46; --egph-teal:#087b72; color:var(--egph-copy); font-size:17px; line-height:1.7; }
.egp-tool-hub *, .egp-tool-hub *::before, .egp-tool-hub *::after { box-sizing:border-box; }
.egp-tool-hub .egph-band { width:100vw; margin-left:calc(50% - 50vw); padding:68px 0; }
.egp-tool-hub .egph-shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.egp-tool-hub .egph-hero { padding:58px 0 52px; background:#101828; color:#e4e7ec; }
.egp-tool-hub .egph-kicker { margin:0 0 10px; color:#fda4af; font-size:13px; font-weight:850; text-transform:uppercase; }
.egp-tool-hub h1, .egp-tool-hub h2, .egp-tool-hub h3 { color:var(--egph-ink); letter-spacing:0; }
.egp-tool-hub .egph-hero h1 { max-width:920px; margin:0 0 18px; color:#fff; font-size:clamp(42px, 6vw, 64px); line-height:1.04; }
.egp-tool-hub .egph-lead { max-width:860px; margin:0; font-size:20px; line-height:1.6; }
.egp-tool-hub .egph-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.egp-tool-hub .egph-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:1px solid var(--egph-pink); border-radius:6px; padding:10px 17px; background:var(--egph-pink); color:#fff; font-weight:850; text-decoration:none; }
.egp-tool-hub .egph-button:hover { background:#a80b3b; border-color:#a80b3b; color:#fff; }
.egp-tool-hub .egph-button.secondary { border-color:#98a2b3; background:transparent; color:#fff; }
.egp-tool-hub .egph-button.secondary:hover { border-color:#fda4af; color:#fda4af; }
.egp-tool-hub .egph-intro { max-width:850px; margin-bottom:30px; }
.egp-tool-hub .egph-intro .egph-kicker { color:var(--egph-pink); }
.egp-tool-hub h2 { margin:0 0 14px; font-size:clamp(30px, 4vw, 43px); line-height:1.15; }
.egp-tool-hub h3 { margin:0 0 8px; font-size:21px; line-height:1.3; }
.egp-tool-hub p { margin:0 0 18px; }
.egp-tool-hub .egph-soft { background:#f7f9fc; }
.egp-tool-hub .egph-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.egp-tool-hub .egph-item { min-width:0; border:1px solid var(--egph-line); border-top:3px solid var(--egph-teal); border-radius:6px; background:#fff; padding:20px; }
.egp-tool-hub .egph-item.pending { border-top-color:#98a2b3; background:#fcfcfd; }
.egp-tool-hub .egph-item p { margin:0 0 14px; color:var(--egph-muted); font-size:15px; }
.egp-tool-hub .egph-item a { color:var(--egph-pink); font-weight:850; }
.egp-tool-hub .egph-status { display:inline-block; margin-bottom:12px; border:1px solid #a6f4e7; border-radius:999px; padding:4px 9px; background:#e7f8f5; color:#065f58; font-size:12px; font-weight:850; text-transform:uppercase; }
.egp-tool-hub .egph-status.setup { border-color:#d0d5dd; background:#f2f4f7; color:#475467; }
.egp-tool-hub .egph-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; counter-reset:egph-step; }
.egp-tool-hub .egph-step { border-top:3px solid var(--egph-pink); padding-top:17px; counter-increment:egph-step; }
.egp-tool-hub .egph-step::before { content:"0" counter(egph-step); display:block; margin-bottom:8px; color:var(--egph-pink); font-size:13px; font-weight:850; }
.egp-tool-hub .egph-note { border-left:5px solid var(--egph-teal); padding:4px 0 4px 23px; }
.egp-tool-hub .egph-links { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:22px; }
.egp-tool-hub .egph-links a { color:var(--egph-pink); font-weight:800; }
.egp-tool-hub .egph-faq details { border-bottom:1px solid var(--egph-line); }
.egp-tool-hub .egph-faq summary { cursor:pointer; padding:18px 34px 18px 0; color:var(--egph-ink); font-weight:800; }
.egp-tool-hub .egph-faq details p { max-width:900px; padding:0 0 18px; }
html.egp-tools-landing, html.egp-tools-landing body { overflow-x:hidden; overflow-x:clip; }
.egp-tools-landing .egp-site-tray { max-width:calc(100vw - 32px)!important; max-height:calc(100vh - 32px); overflow:auto; }
.egp-tools-landing .egp-site-tray.egp-tools-tray-collapsed { width:min(340px, calc(100vw - 32px))!important; min-height:60px!important; padding:16px 62px 16px 18px!important; overflow:hidden!important; }
.egp-tools-landing .egp-site-tray.egp-tools-tray-collapsed > :not(h3):not(.egp-tools-tray-toggle) { display:none!important; }
.egp-tools-landing .egp-site-tray.egp-tools-tray-collapsed > h3 { margin:0!important; font-size:16px!important; line-height:28px!important; }
.egp-tools-landing .egp-tools-tray-toggle { position:absolute; top:8px; right:8px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #475467; border-radius:6px; background:#111827; color:#fff; font:900 24px/1 Arial,sans-serif; cursor:pointer; }
.egp-tools-landing .egp-tools-tray-toggle:hover, .egp-tools-landing .egp-tools-tray-toggle:focus-visible { border-color:#fb7185; color:#fb7185; outline:2px solid #881337; outline-offset:2px; }
@media (max-width:820px) { .egp-tool-hub .egph-grid, .egp-tool-hub .egph-steps { grid-template-columns:1fr; } }
@media (max-width:560px) { .egp-tool-hub { font-size:16px; } .egp-tool-hub .egph-band { padding:50px 0; } .egp-tool-hub .egph-shell { width:min(100% - 28px,1180px); } .egp-tool-hub .egph-hero { padding:40px 0; } .egp-tool-hub .egph-hero h1 { font-size:40px; } .egp-tool-hub .egph-lead { font-size:18px; } }
