.siwThemeFabRoot {
    position: fixed;
    right: 18px;
    top: 18px;
    z-index: 2147483000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
    font-family: "Segoe UI", Arial, sans-serif;
}

.siwThemeFabRoot.isInline {
    position: relative;
    right: auto;
    top: auto;
    z-index: 6000;
    display: inline-flex;
    margin-left: auto;
    flex-shrink: 0;
}

.siwThemeFabButton {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.32);
    background: rgba(255, 255, 255, 0.92);
    color: #0f172a;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.18);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(14px);
    transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.siwThemeFabButton:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.24);
}

.siwThemeFabRoot.isOpen .siwThemeFabButton {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(37, 99, 235, 0.36);
}

.siwThemeFabStatus {
    font-size: 18px;
    line-height: 1;
}

.siwThemeFabMenu {
    min-width: 170px;
    display: none;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 22px 48px rgba(15, 23, 42, 0.22);
    backdrop-filter: blur(16px);
}

.siwThemeFabRoot.isInline .siwThemeFabMenu {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    z-index: 2147483001;
}

.siwThemeFabRoot.isOpen .siwThemeFabMenu {
    display: flex;
}

.siwThemeFabOption {
    border: 1px solid rgba(203, 213, 225, 0.8);
    background: rgba(248, 250, 252, 0.96);
    color: #0f172a;
    border-radius: 12px;
    padding: 9px 12px;
    text-align: left;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}

.siwThemeFabOption:hover {
    transform: translateY(-1px);
    background: rgba(239, 246, 255, 0.98);
    border-color: rgba(96, 165, 250, 0.7);
}

.siwThemeFabOption.isActive {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.14), rgba(14, 165, 233, 0.16));
    border-color: rgba(37, 99, 235, 0.48);
    color: #1d4ed8;
}

html[data-theme="dark"] .siwThemeFabButton {
    background: rgba(15, 23, 42, 0.92);
    color: #e2e8f0;
    border-color: rgba(71, 85, 105, 0.7);
    box-shadow: 0 18px 36px rgba(2, 6, 23, 0.42);
}

html[data-theme="dark"] .siwThemeFabRoot.isOpen .siwThemeFabButton {
    background: rgba(15, 23, 42, 0.98);
    border-color: rgba(59, 130, 246, 0.58);
}

html[data-theme="dark"] .siwThemeFabMenu {
    background: rgba(15, 23, 42, 0.96);
    border-color: rgba(71, 85, 105, 0.72);
    box-shadow: 0 24px 52px rgba(2, 6, 23, 0.46);
}

html[data-theme="dark"] .siwThemeFabOption {
    background: rgba(30, 41, 59, 0.96);
    color: #e2e8f0;
    border-color: rgba(71, 85, 105, 0.78);
}

html[data-theme="dark"] .siwThemeFabOption:hover {
    background: rgba(30, 41, 59, 1);
    border-color: rgba(96, 165, 250, 0.7);
}

html[data-theme="dark"] .siwThemeFabOption.isActive {
    background: linear-gradient(135deg, rgba(29, 78, 216, 0.28), rgba(14, 116, 144, 0.28));
    color: #dbeafe;
    border-color: rgba(96, 165, 250, 0.66);
}

html[data-siw-theme-menu-mounted="1"] .themeSwitch {
    display: none !important;
}

html[data-siw-theme-menu-mounted="1"] #toggleThemeBtn {
    display: none !important;
}

body.siwThemeLoginPage,
body.siwThemeHelpdeskPage {
    transition: background 0.24s ease, color 0.24s ease;
}

html[data-theme="light"] body.siwThemeLoginPage {
    background:
        radial-gradient(circle at 18% 20%, rgba(59, 130, 246, 0.16) 0%, transparent 28%),
        radial-gradient(circle at 82% 22%, rgba(20, 184, 166, 0.12) 0%, transparent 24%),
        radial-gradient(circle at 50% 82%, rgba(14, 165, 233, 0.1) 0%, transparent 32%),
        radial-gradient(circle at top, #f8fbff 0%, #edf4fc 55%, #e2ebf6 100%);
    color: #162033;
}

html[data-theme="light"] body.siwThemeLoginPage::before {
    background:
        linear-gradient(115deg, transparent 0%, rgba(37, 99, 235, 0.04) 48%, transparent 100%),
        linear-gradient(rgba(148, 163, 184, 0.09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, 0.09) 1px, transparent 1px);
    opacity: 0.38;
}

html[data-theme="light"] body.siwThemeLoginPage::after {
    opacity: 0.56;
}

html[data-theme="light"] body.siwThemeLoginPage .card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(245, 249, 255, 0.94) 100%);
    border-color: #d7e2ef;
    box-shadow: 0 20px 60px rgba(37, 99, 235, 0.12);
}

html[data-theme="light"] body.siwThemeLoginPage .meta {
    color: #607089;
}

html[data-theme="light"] body.siwThemeLoginPage label {
    color: #20324d;
}

html[data-theme="light"] body.siwThemeLoginPage input {
    background: #f8fbff;
    color: #132033;
    border-color: #c9d6e6;
}

html[data-theme="light"] body.siwThemeLoginPage .officeLink,
html[data-theme="light"] body.siwThemeLoginPage .backLink {
    color: #132033;
}

html[data-theme="light"] body.siwThemeLoginPage .backLink {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(148, 163, 184, 0.34);
}

html[data-theme="light"] body.siwThemeLoginPage .backLink:hover {
    background: rgba(239, 246, 255, 0.96);
}

html[data-theme="light"] body.siwThemeLoginPage .status {
    color: #b91c1c;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage {
    background: radial-gradient(circle at top, #152238, #0f172a 58%, #020617);
    color: #dbe7f3;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .card,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedSectionToggle,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedCard,
html[data-theme="dark"] body.siwThemeHelpdeskPage .messageBubble,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestReplyPanel,
html[data-theme="dark"] body.siwThemeHelpdeskPage .attachmentDraftChip,
html[data-theme="dark"] body.siwThemeHelpdeskPage .messageAttachmentLink,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedEmpty,
html[data-theme="dark"] body.siwThemeHelpdeskPage .attentionBox,
html[data-theme="dark"] body.siwThemeHelpdeskPage .emojiCategoryBtn,
html[data-theme="dark"] body.siwThemeHelpdeskPage .emojiBtn {
    background: rgba(15, 23, 42, 0.94);
    color: #dbe7f3;
    border-color: #334155;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage h1,
html[data-theme="dark"] body.siwThemeHelpdeskPage .historyTitle,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedTop strong,
html[data-theme="dark"] body.siwThemeHelpdeskPage .messageBubbleBody,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedSectionTitle {
    color: #f8fbff;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .meta,
html[data-theme="dark"] body.siwThemeHelpdeskPage .historyLead,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedSectionLead,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedMeta,
html[data-theme="dark"] body.siwThemeHelpdeskPage .messageBubbleHead,
html[data-theme="dark"] body.siwThemeHelpdeskPage .attachmentHint,
html[data-theme="dark"] body.siwThemeHelpdeskPage .emojiBarLabel,
html[data-theme="dark"] body.siwThemeHelpdeskPage .attachmentDraftMeta,
html[data-theme="dark"] body.siwThemeHelpdeskPage .messageAttachmentMeta {
    color: #94a3b8;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage label,
html[data-theme="dark"] body.siwThemeHelpdeskPage .attachmentLabel {
    color: #dbe7f3;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage input,
html[data-theme="dark"] body.siwThemeHelpdeskPage select,
html[data-theme="dark"] body.siwThemeHelpdeskPage textarea,
html[data-theme="dark"] body.siwThemeHelpdeskPage .attachmentInput {
    background: #0f172a;
    color: #e2e8f0;
    border-color: #334155;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedHeaderButton,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedBadge,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedSectionBadge {
    background: rgba(30, 41, 59, 0.94);
    color: #dbe7f3;
    border-color: #334155;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .messageBubble.tech {
    background: rgba(30, 64, 175, 0.22);
    border-color: rgba(96, 165, 250, 0.34);
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .messageBubble.system {
    background: rgba(22, 101, 52, 0.2);
    border-color: rgba(74, 222, 128, 0.34);
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .messageBubble.progress {
    background: rgba(133, 77, 14, 0.22);
    border-color: rgba(250, 204, 21, 0.34);
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .messageBubble.resolution,
html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedCard.done {
    background: rgba(20, 83, 45, 0.24);
    border-color: rgba(74, 222, 128, 0.32);
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedCard.new {
    background: rgba(30, 64, 175, 0.18);
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedCard.progress {
    background: rgba(120, 53, 15, 0.18);
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .requestFeedCard.rejected {
    background: rgba(127, 29, 29, 0.18);
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .status {
    color: #93c5fd;
}

html[data-theme="dark"] body.siwThemeHelpdeskPage .status.ok {
    color: #86efac;
}

@media print {
    .siwThemeFabRoot {
        display: none !important;
    }
}

@media (max-width: 720px) {
    .siwThemeFabRoot {
        right: 12px;
        top: 12px;
    }

    .siwThemeFabButton {
        width: 42px;
        height: 42px;
    }

    .siwThemeFabMenu {
        min-width: 158px;
    }
}
