.icamz-support {
    --support-green: #67ee26;
    --support-purple: #5c3478;
    --support-ink: #17151b;
    bottom: max(20px, env(safe-area-inset-bottom));
    font-family: Manrope, sans-serif;
    position: fixed;
    right: max(20px, env(safe-area-inset-right));
    z-index: 2147482000;
}
.icamz-support *, .icamz-support *::before, .icamz-support *::after { box-sizing: border-box; }
.icamz-support-launch {
    align-items: center;
    background: linear-gradient(135deg, #78f638, #45cb12);
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 999px;
    box-shadow: 0 14px 34px rgba(35, 94, 14, .3);
    color: #102009;
    cursor: pointer;
    display: flex;
    font: 800 14px/1 Manrope, sans-serif;
    gap: 9px;
    min-height: 50px;
    padding: 10px 18px 10px 10px;
}
.icamz-support-launch span {
    align-items: center;
    background: #172013;
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    font-size: 18px;
    height: 31px;
    justify-content: center;
    width: 31px;
}
.icamz-support-backdrop {
    background: rgba(12, 10, 15, .58);
    inset: 0;
    position: fixed;
}
.icamz-support-dialog {
    background: #fff;
    border: 1px solid rgba(92, 52, 120, .16);
    border-radius: 24px;
    bottom: max(18px, env(safe-area-inset-bottom));
    box-shadow: 0 28px 90px rgba(17, 8, 24, .34);
    color: var(--support-ink);
    max-height: min(760px, calc(100vh - 36px));
    overflow: auto;
    padding: 28px;
    position: fixed;
    right: max(18px, env(safe-area-inset-right));
    width: min(520px, calc(100vw - 36px));
}
.icamz-support-close {
    background: #f0ebf4;
    border: 0;
    border-radius: 50%;
    color: #4c2b64;
    cursor: pointer;
    font: 700 24px/34px sans-serif;
    height: 34px;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 34px;
}
.icamz-support-heading { padding-right: 34px; }
.icamz-support-kicker { color: #558f24; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.icamz-support-heading h2, .icamz-support-success h2 { color: #372043; font-family: "DM Serif Display", Georgia, serif; font-size: clamp(27px, 5vw, 36px); line-height: 1.08; margin: 7px 0 8px; }
.icamz-support-heading p, .icamz-support-success p { color: #655c69; font-size: 14px; line-height: 1.55; margin: 0 0 20px; }
.icamz-support-categories { display: grid; gap: 9px; }
.icamz-support-categories label { cursor: pointer; margin: 0; }
.icamz-support-categories input { opacity: 0; position: absolute; }
.icamz-support-categories span {
    background: #fbfafc;
    border: 1px solid #ddd6e2;
    border-radius: 13px;
    display: block;
    padding: 12px 14px 12px 44px;
    position: relative;
}
.icamz-support-categories span::before {
    border: 2px solid #a397aa;
    border-radius: 50%;
    content: "";
    height: 18px;
    left: 15px;
    position: absolute;
    top: 17px;
    width: 18px;
}
.icamz-support-categories input:checked + span { background: #f3ffed; border-color: #55cc20; box-shadow: 0 0 0 2px rgba(103,238,38,.16); }
.icamz-support-categories input:checked + span::before { background: var(--support-green); border-color: #378d13; box-shadow: inset 0 0 0 4px #fff; }
.icamz-support-categories input:focus-visible + span { outline: 3px solid rgba(92,52,120,.25); outline-offset: 2px; }
.icamz-support-categories strong, .icamz-support-categories small { display: block; }
.icamz-support-categories strong { color: #302637; font-size: 14px; }
.icamz-support-categories small { color: #746b79; font-size: 12px; line-height: 1.35; margin-top: 2px; }
.icamz-support-technical-note { background: #f4eff8; border-left: 4px solid var(--support-purple); border-radius: 9px; color: #55485d; font-size: 12px; line-height: 1.45; margin-top: 13px; padding: 11px 13px; }
.icamz-support-technical-note strong, .icamz-support-technical-note span { display: block; }
.icamz-support-fields { display: grid; gap: 12px; margin-top: 16px; }
.icamz-support-fields label { color: #463c4c; display: grid; font-size: 12px; font-weight: 800; gap: 5px; margin: 0; }
.icamz-support-fields input, .icamz-support-fields textarea {
    background: #fff;
    border: 1px solid #cdc5d1;
    border-radius: 10px;
    color: #211b25;
    font: 400 16px/1.4 Manrope, sans-serif;
    margin: 0;
    min-height: 44px;
    padding: 10px 12px;
    resize: vertical;
    width: 100%;
}
.icamz-support-fields input:focus, .icamz-support-fields textarea:focus { border-color: var(--support-purple); box-shadow: 0 0 0 3px rgba(92,52,120,.13); outline: 0; }
.icamz-support-status { color: #a02a32; font-size: 13px; font-weight: 700; min-height: 18px; padding-top: 8px; }
.icamz-support-submit, .icamz-support-success button {
    background: var(--support-purple);
    border: 0;
    border-radius: 11px;
    color: #fff;
    cursor: pointer;
    font: 800 14px/1 Manrope, sans-serif;
    min-height: 48px;
    padding: 14px 20px;
    width: 100%;
}
.icamz-support-submit:disabled { cursor: wait; opacity: .65; }
.icamz-support-success { padding: 28px 4px 6px; text-align: center; }
.icamz-support-success-icon { align-items: center; background: var(--support-green); border-radius: 50%; color: #17320b; display: inline-flex; font-size: 30px; font-weight: 900; height: 64px; justify-content: center; width: 64px; }
html[data-theme="dark"] .icamz-support-dialog { background: #201c24; border-color: #51465a; color: #fff; }
html[data-theme="dark"] .icamz-support-heading h2, html[data-theme="dark"] .icamz-support-success h2 { color: #fff; }
html[data-theme="dark"] .icamz-support-heading p, html[data-theme="dark"] .icamz-support-success p { color: #c5bbc9; }
html[data-theme="dark"] .icamz-support-categories span { background: #2b2630; border-color: #514858; }
html[data-theme="dark"] .icamz-support-categories strong { color: #f8f5fa; }
html[data-theme="dark"] .icamz-support-categories small { color: #bdb3c2; }
html[data-theme="dark"] .icamz-support-fields label { color: #e4dce8; }
html[data-theme="dark"] .icamz-support-fields input, html[data-theme="dark"] .icamz-support-fields textarea { background: #17141a; border-color: #5c5262; color: #fff; }
@media (max-width: 600px) {
    .icamz-support { bottom: max(12px, env(safe-area-inset-bottom)); right: max(12px, env(safe-area-inset-right)); }
    .icamz-support-launch { min-height: 46px; padding: 8px 14px 8px 8px; }
    .icamz-support-launch span { height: 29px; width: 29px; }
    .icamz-support-dialog { border-radius: 20px 20px 0 0; bottom: 0; left: 0; max-height: min(88vh, 760px); padding: 22px 18px calc(18px + env(safe-area-inset-bottom)); right: 0; width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
    .icamz-support-launch { transition: transform .2s ease, box-shadow .2s ease; }
    .icamz-support-launch:hover { box-shadow: 0 18px 40px rgba(35,94,14,.36); transform: translateY(-2px); }
}
