#ez-sq-root {
    --ez-sq-color: #176747;
    --ez-sq-ink: #172d25;
    --ez-sq-muted: #65736d;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: var(--ez-sq-ink);
    text-align: left;
}
#ez-sq-root *, #ez-sq-root *::before, #ez-sq-root *::after { box-sizing: border-box; }
#ez-sq-root [hidden] { display: none !important; }
#ez-sq-root button, #ez-sq-root input, #ez-sq-root textarea { font: inherit; letter-spacing: normal; text-transform: none; }
#ez-sq-root button { cursor: pointer; min-height: 44px; }
#ez-sq-root button:focus-visible, #ez-sq-root a:focus-visible, #ez-sq-root summary:focus-visible {
    outline: 3px solid var(--ez-sq-color); outline-offset: 4px;
}
#ez-sq-root #ez-sq-float {
    position: fixed; z-index: 99990; display: flex; align-items: center; gap: 12px;
    margin: 0; border: 1px solid rgba(255,255,255,.25); border-radius: 99px;
    padding: 15px 21px; background: var(--ez-sq-color); color: #fff;
    box-shadow: 0 8px 30px rgba(18,46,34,.22); font-size: 15px; font-weight: 650;
    line-height: 1.4; max-width: calc(100vw - 32px); white-space: normal; text-align: left;
    transition: box-shadow .2s, filter .2s;
}
#ez-sq-root #ez-sq-float:hover { filter: brightness(.92); box-shadow: 0 10px 36px rgba(18,46,34,.3); }
#ez-sq-root #ez-sq-float svg { width: 23px; height: 23px; flex-shrink: 0; }
#ez-sq-root .ez-sq-arrow { margin-left: 9px; font-size: 20px; font-weight: 400; }
#ez-sq-root .ez-sq-position-bottom-right, #ez-sq-root .ez-sq-position-middle-right, #ez-sq-root .ez-sq-position-top-right {
    right: max(16px, min(var(--ez-sq-x), calc(100vw - 260px)), env(safe-area-inset-right));
}
#ez-sq-root .ez-sq-position-bottom-left, #ez-sq-root .ez-sq-position-middle-left, #ez-sq-root .ez-sq-position-top-left {
    left: max(16px, min(var(--ez-sq-x), calc(100vw - 260px)), env(safe-area-inset-left));
}
#ez-sq-root .ez-sq-position-bottom-right, #ez-sq-root .ez-sq-position-bottom-left {
    bottom: max(16px, min(var(--ez-sq-y), calc(100dvh - 100px)), env(safe-area-inset-bottom));
}
#ez-sq-root .ez-sq-position-top-right, #ez-sq-root .ez-sq-position-top-left {
    top: max(16px, min(var(--ez-sq-y), calc(100dvh - 100px)), env(safe-area-inset-top));
}
#ez-sq-root .ez-sq-position-middle-right, #ez-sq-root .ez-sq-position-middle-left {
    top: clamp(50px, calc(50dvh + var(--ez-sq-y)), calc(100dvh - 50px)); transform: translateY(-50%);
}
#ez-sq-dialog {
    width: min(560px, calc(100vw - 32px)); max-width: 560px;
    max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    margin: auto; padding: 0; border: 0; border-radius: 22px;
    background: #fff; color: var(--ez-sq-ink); overflow: auto;
    box-shadow: 0 28px 100px rgba(0,0,0,.24); overscroll-behavior: contain;
}
#ez-sq-dialog::backdrop { background: rgba(13,31,24,.56); backdrop-filter: blur(5px); }
#ez-sq-root .ez-sq-panel { position: relative; padding: 38px; background: #fff; }
#ez-sq-root .ez-sq-close {
    position: absolute; top: 12px; right: 12px; width: 44px; height: 44px;
    display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%;
    background: transparent; color: #65736d; font-size: 29px; line-height: 1; box-shadow: none;
}
#ez-sq-root .ez-sq-close:hover { background: #f0f4f1; color: var(--ez-sq-ink); }
#ez-sq-root .ez-sq-eyebrow {
    display: flex; align-items: center; gap: 8px; padding-right: 22px; margin: 2px 0 17px;
    color: var(--ez-sq-color); font-size: 10px; line-height: 1.5; font-weight: 750; letter-spacing: 1.5px;
}
#ez-sq-root .ez-sq-eyebrow > span { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
#ez-sq-root h2 { margin: 0 24px 10px 0; font-family: inherit; font-size: 31px; font-weight: 650; line-height: 1.16; letter-spacing: -1px; color: var(--ez-sq-ink); }
#ez-sq-intro { margin: 0 0 24px; color: var(--ez-sq-muted); font-size: 14px; line-height: 1.6; }
#ez-sq-form { margin: 0; }
#ez-sq-root .ez-sq-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 15px 14px; }
#ez-sq-root .ez-sq-fields label { display: block; margin: 0; color: var(--ez-sq-ink); font-weight: 600; font-size: 12px; }
#ez-sq-root .ez-sq-fields label > span { color: var(--ez-sq-muted); font-weight: 400; }
#ez-sq-root .ez-sq-wide { grid-column: 1 / -1; }
#ez-sq-root .ez-sq-address-row { display: grid; grid-template-columns: minmax(0, 1fr) 110px; gap: 14px; }
#ez-sq-root .ez-sq-address-city { grid-template-columns: 110px minmax(0, 1fr); }
#ez-sq-root input:not([type="checkbox"]), #ez-sq-root textarea {
    display: block; width: 100%; min-width: 0; min-height: 46px; padding: 11px 13px;
    margin: 7px 0 0; border: 1px solid #dce3de; border-radius: 9px;
    background: #fafbf9; color: var(--ez-sq-ink); box-shadow: none; font-size: 14px;
    font-weight: 400; line-height: 1.5; outline-offset: 2px;
}
#ez-sq-root textarea { resize: vertical; }
#ez-sq-root input::placeholder, #ez-sq-root textarea::placeholder { color: #7b857f; opacity: 1; }
#ez-sq-root input:focus, #ez-sq-root textarea:focus { outline: 2px solid var(--ez-sq-color); border-color: transparent; background: #fff; }
#ez-sq-root .ez-sq-note { margin: 15px 0 18px; padding: 0; border: 0; background: none; }
#ez-sq-root .ez-sq-note label { display: block; color: var(--ez-sq-ink); font-size: 12px; font-weight: 600; }
#ez-sq-root .ez-sq-note label span { color: var(--ez-sq-muted); margin-left: 5px; font-weight: 400; }
#ez-sq-root .ez-sq-consent { display: flex; gap: 10px; align-items: flex-start; margin: 0; color: #58665e; font-size: 11px; font-weight: 400; line-height: 1.6; }
#ez-sq-root .ez-sq-consent input { appearance: auto; display: block; position: static; opacity: 1; width: 17px; height: 17px; flex: 0 0 17px; margin: 2px 0 0; accent-color: var(--ez-sq-color); }
#ez-sq-root .ez-sq-consent a { color: var(--ez-sq-color); text-decoration: underline; }
#ez-sq-root .ez-sq-data-note { font-size: 10px; color: var(--ez-sq-muted); margin: 8px 0 0 27px; line-height: 1.5; }
#ez-sq-root .ez-sq-submit, .ez-sq-inline {
    display: flex; justify-content: space-between; align-items: center; gap: 16px;
    width: 100%; min-height: 49px; padding: 13px 18px; margin: 18px 0 0;
    border: 0; border-radius: 10px; background: var(--ez-sq-color, #176747); color: #fff;
    font-family: inherit; font-size: 14px; font-weight: 650; line-height: 1.5; box-shadow: none;
}
.ez-sq-inline { display: inline-flex; width: auto; margin: 0; cursor: pointer; }
#ez-sq-root .ez-sq-submit:hover { filter: brightness(.92); }
#ez-sq-root .ez-sq-submit:disabled { cursor: wait; opacity: .65; }
#ez-sq-root .ez-sq-footnote { display: flex; justify-content: space-between; gap: 8px; margin: 12px 0 0; font-size: 10px; color: var(--ez-sq-muted); }
#ez-sq-message { font-size: 12px; margin: 0; }
#ez-sq-message:not(:empty) { margin-top: 14px; padding: 10px 12px; border-radius: 7px; background: #f0f5f1; }
#ez-sq-message.ez-sq-error { color: #92391c; background: #fff2eb; }
#ez-sq-root .ez-sq-success { padding: 30px 0 14px; outline: none; }
#ez-sq-root .ez-sq-success-icon { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 0 30px; color: var(--ez-sq-color); background: #edf5ef; border-radius: 50%; font-size: 30px; }
#ez-sq-root .ez-sq-success > p:not(.ez-sq-eyebrow) { color: var(--ez-sq-muted); margin: 18px 0 30px; line-height: 1.8; }
#ez-sq-root .ez-sq-visually-hidden, #ez-sq-root .ez-sq-trap { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 540px) {
    #ez-sq-root .ez-sq-panel { padding: 30px 22px 24px; }
    #ez-sq-root h2 { font-size: 28px; }
    #ez-sq-root .ez-sq-fields { grid-template-columns: 1fr; gap: 12px; }
    #ez-sq-root .ez-sq-address-row { grid-template-columns: minmax(0, 1fr) 92px; gap: 12px; }
    #ez-sq-root .ez-sq-address-city { grid-template-columns: 92px minmax(0, 1fr); }
    #ez-sq-root input:not([type="checkbox"]), #ez-sq-root textarea { font-size: 16px; }
    #ez-sq-root #ez-sq-float { padding: 13px 17px; font-size: 14px; gap: 10px; }
}
@media (prefers-reduced-motion: no-preference) {
    #ez-sq-dialog[open] { animation: ez-sq-appear .2s ease-out; }
    @keyframes ez-sq-appear { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}
@media print { #ez-sq-root { display: none !important; } }
