:root {
    --bg: #080d18;
    --panel: #101827;
    --panel-soft: #151f31;
    --text: #f8fafc;
    --muted: #9aa9bd;
    --line: #263449;
    --primary: #16c79a;
    --primary-dark: #0fa77f;
    --primary-soft: #123a35;
    --blue: #3b82f6;
    --blue-dark: #93c5fd;
    --orange: #f97316;
    --orange-dark: #ea580c;
    --success: #5ee7b7;
    --success-bg: #12362f;
    --warning: #fbbf6a;
    --warning-bg: #3a2b16;
    --danger: #ff5f6d;
    --danger-bg: #5b111b;
    --muted-bg: #202c3e;
    --sidebar: #070b13;
    --sidebar-hover: #172235;
    --shadow: 0 20px 55px rgba(0, 0, 0, 0.34);
    --shadow-soft: 0 12px 34px rgba(0, 0, 0, 0.24);
    --radius: 14px;
}

/* Overrides finais: ajuda compacta e categorias horizontais. */
.data-form label:has(.field-help-button),
.form-grid > label:has(.field-help-button),
.menu-theme-editor label:has(.field-help-button) { position: relative !important; }
.field-help-button {
    align-items: center !important; background: rgba(148,163,184,.12) !important;
    border: 1px solid rgba(148,163,184,.3) !important; border-radius: 50% !important;
    color: var(--muted) !important; display: inline-flex !important; font-size: 10px !important;
    height: 18px !important; justify-content: center !important; min-height: 18px !important;
    min-width: 18px !important; padding: 0 !important; position: absolute !important;
    right: 2px !important; top: 0 !important; width: 18px !important; z-index: 8 !important;
}
.items-builder.product-picker .category-tabs,
.table-panel > .category-tabs {
    display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important;
    max-width: 100% !important; overflow-x: auto !important; overflow-y: hidden !important;
    padding: 0 0 7px !important; scrollbar-color: rgba(34,211,238,.48) transparent !important;
    scrollbar-width: thin !important; white-space: nowrap !important;
}
.items-builder.product-picker .category-tabs::-webkit-scrollbar,
.table-panel > .category-tabs::-webkit-scrollbar { display: block !important; height: 5px !important; }
.items-builder.product-picker .category-tabs::-webkit-scrollbar-thumb,
.table-panel > .category-tabs::-webkit-scrollbar-thumb { background: rgba(34,211,238,.48) !important; border-radius: 999px !important; }
.items-builder.product-picker .category-tabs button,
.table-panel > .category-tabs button { flex: 0 0 auto !important; white-space: nowrap !important; }

/* Cardapio online - lista por clique e sacola inferior */
.public-menu .public-cart-toggle {
    align-items: center;
    background: #ff433d;
    border: 0;
    border-radius: 16px;
    bottom: 22px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .28);
    color: #fff;
    display: flex;
    gap: 12px;
    left: 50%;
    min-height: 70px;
    min-width: min(380px, calc(100vw - 36px));
    opacity: 0;
    padding: 12px 16px;
    pointer-events: none;
    position: fixed;
    right: auto;
    top: auto;
    transform: translate(-50%, 18px);
    transition: opacity .18s ease, transform .18s ease;
    z-index: 1185;
}

.public-menu .public-cart-toggle.has-items {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.public-menu .public-cart-toggle .public-cart-icon {
    border: 2px solid currentColor;
    height: 24px;
    position: relative;
    width: 22px;
}

.public-menu .public-cart-toggle .public-cart-icon::before {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 999px 999px 0 0;
    content: "";
    height: 8px;
    left: 4px;
    position: absolute;
    top: -9px;
    width: 10px;
}

.public-cart-toggle-copy {
    display: grid;
    gap: 2px;
    line-height: 1.1;
    text-align: left;
}

.public-cart-toggle-copy small,
.public-cart-toggle-copy strong {
    color: inherit;
}

.public-cart-toggle-copy b {
    background: transparent;
    border-radius: 0;
    color: inherit;
    font-size: inherit;
    min-width: 0;
    padding: 0;
}

.public-cart-toggle-copy small {
    font-size: 13px;
    font-weight: 800;
}

.public-cart-toggle-copy strong {
    font-size: 21px;
    font-weight: 950;
}

.public-cart-toggle-arrow {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border-radius: 14px;
    display: inline-flex;
    height: 46px;
    justify-content: center;
    margin-left: auto;
    width: 46px;
}

.public-cart-toggle-arrow::before {
    border-right: 3px solid currentColor;
    border-top: 3px solid currentColor;
    content: "";
    height: 10px;
    transform: rotate(45deg);
    width: 10px;
}

.public-menu .public-products {
    align-items: start;
    display: grid;
    gap: 22px 34px;
    grid-template-columns: repeat(3, minmax(250px, 1fr));
}

.public-menu .public-product-toolbar,
.public-menu .public-highlights {
    grid-column: 1 / -1;
}

.public-menu .public-product-card {
    align-items: start;
    background: transparent;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 120px;
    padding: 0;
    transition: background .16s ease, transform .16s ease;
}

.public-menu .public-product-card:hover,
.public-menu .public-product-card:focus-within {
    background: rgba(148, 163, 184, .06);
    transform: translateY(-1px);
}

.public-menu .public-product-media {
    border-radius: 8px;
    height: 96px;
    width: 96px;
}

.public-menu .public-product-media img {
    border-radius: inherit;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.public-menu .public-product-card h2 {
    font-size: 18px;
    line-height: 1.25;
    margin: 0 0 7px;
}

.public-menu .public-product-card p {
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.45;
    margin: 0 0 10px;
    max-width: 44ch;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-menu .public-product-card strong {
    display: block;
    font-size: 15px;
}

.public-menu .public-product-card .public-add-cart {
    display: none;
}

.public-product-detail-modal {
    z-index: 1210;
}

.public-product-detail-box {
    overflow: hidden;
    padding: 0;
}

.public-product-detail-box .modal-close-button {
    right: 14px;
    top: 14px;
    z-index: 2;
}

.public-product-detail-media {
    border: 0;
    border-radius: 0;
}

.public-product-detail-info {
    padding: 22px;
}

.public-product-detail-info .button-primary {
    min-height: 54px;
    width: 100%;
}

.public-menu-theme-light .public-product-detail-box {
    background: #fff;
    color: #111827;
}

.public-menu-theme-light .public-product-detail-info h2,
.public-menu-theme-light .public-product-detail-info p {
    color: #111827;
}

.public-menu-theme-light .public-product-detail-info strong {
    color: #dc2626;
}

.public-menu-theme-light .public-product-detail-info .button-primary,
.public-menu-theme-light .public-cart-toggle {
    background: #ff433d;
    color: #fff;
}

@media (max-width: 980px) {
    .public-menu .public-products {
        grid-template-columns: repeat(2, minmax(240px, 1fr));
    }
}

@media (max-width: 680px) {
    .public-menu {
        padding-bottom: 104px;
    }

    .public-menu .public-products {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .public-menu .public-product-card {
        grid-template-columns: 88px minmax(0, 1fr);
        min-height: 96px;
    }

    .public-menu .public-product-media {
        height: 88px;
        width: 88px;
    }

    .public-menu .public-cart-toggle {
        bottom: 18px;
        min-height: 70px;
        min-width: calc(100vw - 28px);
    }

    .public-product-detail-box {
        border-radius: 18px;
        grid-template-columns: 1fr;
        max-height: calc(100dvh - 34px);
        width: min(100%, 540px);
    }

    .public-product-detail-media {
        aspect-ratio: 1.12;
        max-height: 52dvh;
    }
}

/* Correcao absoluta da largura do Pedido manual. */
body.manual-order-page { max-width: 100vw !important; overflow-x: hidden !important; }
body.manual-order-page .app-shell { box-sizing: border-box !important; max-width: 100vw !important; width: 100% !important; }
body.manual-order-page .main-content {
    box-sizing: border-box !important; flex: 1 1 0 !important; max-width: none !important;
    min-width: 0 !important; overflow-x: hidden !important; width: 0 !important;
}
body.manual-order-page .main-content > *, body.manual-order-page .form-panel,
body.manual-order-page #manual-order-form, body.manual-order-page #manual-order-form .form-grid,
body.manual-order-page #manual-order-form .items-builder, body.manual-order-page #manual-order-form .catalog-picker {
    box-sizing: border-box !important; max-width: 100% !important; min-width: 0 !important; width: 100% !important;
}
body.manual-order-page #manual-order-form .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.manual-order-page #manual-order-form .form-grid > *, body.manual-order-page #manual-order-form input,
body.manual-order-page #manual-order-form select, body.manual-order-page #manual-order-form textarea { box-sizing: border-box !important; max-width: 100% !important; min-width: 0 !important; width: 100% !important; }
body.manual-order-page #manual-order-form .order-category-tabs { max-width: 100% !important; min-width: 0 !important; overflow-x: auto !important; width: 100% !important; }
@media (max-width: 760px) {
    body.manual-order-page .main-content { padding-left: 14px !important; padding-right: 14px !important; width: 100% !important; }
    body.manual-order-page #manual-order-form .form-grid { grid-template-columns: 1fr !important; }
}

/* Contencao final do Pedido manual. */
#manual-order-form,
#manual-order-form .form-grid,
#manual-order-form .items-builder,
#manual-order-form .catalog-picker,
#manual-order-form .product-grid {
    box-sizing: border-box !important; max-width: 100% !important; min-width: 0 !important; width: 100% !important;
}
#manual-order-form .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
#manual-order-form .form-grid > *,
#manual-order-form input,
#manual-order-form select,
#manual-order-form textarea { box-sizing: border-box !important; max-width: 100% !important; min-width: 0 !important; width: 100% !important; }
#manual-order-form .items-builder { overflow: hidden !important; }
#manual-order-form .catalog-picker { overflow: hidden !important; }
#manual-order-form .order-category-tabs { overflow-x: auto !important; overflow-y: hidden !important; }
@media (max-width: 760px) {
    #manual-order-form .form-grid { grid-template-columns: 1fr !important; }
}

/* O conteudo ocupa somente o espaco restante ao lado da sidebar. */
body.manual-order-page { max-width: 100vw !important; overflow-x: hidden !important; }
body.manual-order-page .app-shell { box-sizing: border-box !important; max-width: 100vw !important; width: 100% !important; }
body.manual-order-page .main-content {
    box-sizing: border-box !important; flex: 1 1 0 !important; max-width: none !important;
    min-width: 0 !important; overflow-x: hidden !important; width: 0 !important;
}
body.manual-order-page .main-content > *,
body.manual-order-page .form-panel,
body.manual-order-page #manual-order-form { box-sizing: border-box !important; max-width: 100% !important; min-width: 0 !important; }
body.manual-order-page #manual-order-form .order-category-tabs {
    box-sizing: border-box !important; display: flex !important; max-width: 100% !important;
    min-width: 0 !important; overflow-x: auto !important; width: 100% !important;
}
@media (max-width: 760px) {
    body.manual-order-page .main-content { padding-left: 14px !important; padding-right: 14px !important; width: 100% !important; }
}

/* Camada final de navegacao e ajuda. */
.data-form label:has(.field-help-button), .form-grid > label:has(.field-help-button), .menu-theme-editor label:has(.field-help-button) { position: relative !important; }
.field-help-button {
    align-items: center !important; background: rgba(148,163,184,.12) !important; border: 1px solid rgba(148,163,184,.3) !important;
    border-radius: 50% !important; color: var(--muted) !important; display: inline-flex !important; font-size: 10px !important;
    height: 18px !important; justify-content: center !important; min-height: 18px !important; min-width: 18px !important;
    padding: 0 !important; position: absolute !important; right: 2px !important; top: 0 !important; width: 18px !important; z-index: 8 !important;
}
.items-builder.product-picker .category-tabs, .table-panel > .category-tabs {
    display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important; max-width: 100% !important;
    overflow-x: auto !important; overflow-y: hidden !important; padding: 0 0 7px !important;
    scrollbar-color: rgba(34,211,238,.48) transparent !important; scrollbar-width: thin !important; white-space: nowrap !important;
}
.items-builder.product-picker .category-tabs::-webkit-scrollbar, .table-panel > .category-tabs::-webkit-scrollbar { display: block !important; height: 5px !important; }
.items-builder.product-picker .category-tabs::-webkit-scrollbar-thumb, .table-panel > .category-tabs::-webkit-scrollbar-thumb { background: rgba(34,211,238,.48) !important; border-radius: 999px !important; }
.items-builder.product-picker .category-tabs button, .table-panel > .category-tabs button { flex: 0 0 auto !important; white-space: nowrap !important; }

/* Gerenciador de categorias e configuracao profissional do cardapio online. */
.confirm-modal { z-index: 5000 !important; }
.modal-backdrop[data-category-modal] { z-index: 1200 !important; }
.category-manager-search { display: grid; gap: 6px; margin: 4px 0 14px; position: sticky !important; top: 0; z-index: 3; }
.category-manager-search input { background: var(--panel); margin: 0; width: 100%; }
.category-edit-list [data-category-manager-item][hidden] { display: none !important; }
.category-manager-modal {
    border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--line)) !important; border-radius: 22px !important;
    box-shadow: 0 34px 100px rgba(0,0,0,.48) !important; padding: 22px !important;
}
.category-manager-modal .category-create-form {
    background: color-mix(in srgb, var(--panel-soft) 86%, transparent); border: 1px solid var(--line); border-radius: 16px; padding: 16px;
}
.category-manager-modal .category-edit-list { display: grid; gap: 8px; padding-right: 5px; }
.online-product-manager { box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.online-product-manager-head { border-bottom: 1px solid var(--line); padding-bottom: 15px; }
.online-product-controls { background: color-mix(in srgb, var(--panel) 58%, transparent); border: 1px solid var(--line); border-radius: 14px; padding: 12px; }
.online-category-order { background: color-mix(in srgb, var(--panel) 65%, transparent); border: 1px solid var(--line) !important; border-radius: 14px; padding: 14px !important; }
.online-category-sortable { flex-direction: column; }
.online-category-sort-item { min-height: 44px; transition: border-color .16s ease, transform .16s ease, background .16s ease; }
.online-category-sort-item:hover { border-color: color-mix(in srgb, var(--primary) 55%, var(--line)); transform: translateX(2px); }
.online-category-sort-item span { cursor: grab; font-size: 16px; }
.online-product-checklist label { min-height: 58px; }
.public-menu-link-actions { background: var(--panel-soft); border: 1px solid var(--line); border-radius: 15px; padding: 12px; }
.online-product-manager-head h2::before,
.account-grid > .form-panel:nth-child(2) > h2::before {
    align-items: center; background: linear-gradient(135deg, var(--primary), #38bdf8); border-radius: 9px;
    color: #02111f; display: inline-flex; font-size: .7rem; height: 25px; justify-content: center;
    margin-right: 9px; vertical-align: 3px; width: 25px;
}
.online-product-manager-head h2::before { content: "1"; }
.account-grid > .form-panel:nth-child(2) > h2::before { content: "2"; }

/* Reusable Lucide SVG accents for the admin UI. */
.page-icon,
.card-icon,
.section-icon,
.button-icon,
.empty-state-icon {
    align-items: center;
    color: var(--primary);
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
}

.lucide-ui-icon {
    display: block;
    height: 20px;
    stroke-width: 1.9;
    width: 20px;
}

.ui-page-title {
    align-items: center;
    column-gap: 12px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
}

.ui-page-title .page-icon {
    background: rgba(34, 211, 238, 0.11);
    border: 1px solid rgba(34, 211, 238, 0.22);
    border-radius: 12px;
    grid-row: 1 / span 2;
    height: 42px;
    width: 42px;
}

.ui-page-title h1,
.ui-page-title p {
    grid-column: 2;
}

.metric-card {
    padding-right: 58px;
    position: relative;
}

.metric-card p {
    max-width: calc(100% - 38px);
}

.metric-card .card-icon {
    background: rgba(34, 211, 238, 0.10);
    border: 1px solid rgba(34, 211, 238, 0.18);
    border-radius: 10px;
    height: 32px;
    opacity: 0.9;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 32px;
}

.metric-card .card-icon .lucide-ui-icon {
    height: 16px;
    width: 16px;
}

.section-title-row h2 {
    align-items: center;
    display: flex;
    gap: 9px;
}

.section-icon {
    background: rgba(34, 211, 238, 0.10);
    border: 1px solid rgba(34, 211, 238, 0.18);
    border-radius: 9px;
    height: 30px;
    width: 30px;
}

.section-icon .lucide-ui-icon {
    height: 18px;
    width: 18px;
}

.has-button-icon {
    gap: 7px;
}

.button-icon {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: currentColor;
    height: 18px;
    opacity: 0.94;
    width: 18px;
}

.button-icon .lucide-ui-icon {
    height: 17px;
    stroke-width: 2.15;
    width: 17px;
}

.button-secondary .button-icon,
.form-actions a .button-icon,
.form-header a .button-icon {
    color: currentColor;
}

.ui-empty-state {
    text-align: center;
}

.empty-state-icon {
    background: rgba(34, 211, 238, 0.10);
    border: 1px solid rgba(34, 211, 238, 0.18);
    border-radius: 16px;
    color: var(--primary);
    height: 58px;
    margin: 0 auto 12px;
    width: 58px;
}

.empty-state-icon .lucide-ui-icon {
    height: 28px;
    width: 28px;
}

@media (max-width: 720px) {
    .ui-page-title .page-icon {
        border-radius: 10px;
        height: 36px;
        width: 36px;
    }

    .page-icon .lucide-ui-icon,
    .card-icon .lucide-ui-icon {
        height: 18px;
        width: 18px;
    }

    .metric-card .card-icon {
        height: 34px;
        right: 12px;
        top: 12px;
        width: 34px;
    }
}

.online-category-order { border-top: 1px solid var(--line); margin: 16px 0; padding-top: 14px; }
.online-category-order > div:first-child { display: grid; gap: 3px; }
.online-category-order small { color: var(--muted); }
.online-category-sortable { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.online-category-sort-item {
    align-items: center; background: var(--panel-soft); border: 1px solid var(--line); border-radius: 10px;
    cursor: grab; display: flex; gap: 7px; padding: 8px 10px; user-select: none;
}
.online-category-sort-item span { color: var(--muted); font-weight: 900; letter-spacing: -4px; }
.online-category-sort-item b { font-size: .78rem; }
.online-category-sort-item.is-dragging { opacity: .42; }

.table-panel > .category-tabs,
[data-product-picker] .category-tabs {
    flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto !important;
    overflow-y: hidden !important; padding-bottom: 5px !important; scrollbar-width: thin;
    white-space: nowrap !important;
}
.table-panel > .category-tabs::-webkit-scrollbar,
[data-product-picker] .category-tabs::-webkit-scrollbar { height: 4px; }
.table-panel > .category-tabs::-webkit-scrollbar-thumb,
[data-product-picker] .category-tabs::-webkit-scrollbar-thumb { background: rgba(148,163,184,.35); border-radius: 99px; }
.table-panel > .category-tabs button,
[data-product-picker] .category-tabs button { flex: 0 0 auto !important; padding: 8px 13px !important; }

.data-form label:has(> .field-help-button),
.form-grid > label:has(> .field-help-button) { position: relative; }
.field-help-button {
    align-items: center; background: rgba(148,163,184,.12); border: 1px solid rgba(148,163,184,.28);
    border-radius: 50%; color: var(--muted); display: inline-flex; font-size: 10px; font-weight: 900;
    height: 18px; justify-content: center; min-height: 18px; padding: 0; position: absolute; right: 2px; top: 0; width: 18px; z-index: 4;
}
.field-help-button::after {
    background: #0f172a; border: 1px solid rgba(148,163,184,.25); border-radius: 9px; bottom: calc(100% + 7px);
    box-shadow: 0 12px 30px rgba(0,0,0,.25); color: #f8fafc; content: attr(data-help); display: none;
    font-size: 11px; font-weight: 600; line-height: 1.35; max-width: 230px; min-width: 170px; padding: 9px 10px;
    position: absolute; right: 0; text-align: left; white-space: normal;
}
.field-help-button:hover::after,
.field-help-button:focus-visible::after,
.field-help-button.is-open::after { display: block; }

/* Final UI icon layer. */
.metric-card {
    padding-right: 58px;
}

.metric-card .card-icon {
    pointer-events: none;
}

.has-button-icon .button-icon {
    pointer-events: none;
}

/* Sacola inferior - regra final real */
body.public-menu-body .public-menu .public-cart-toggle {
    align-items: center !important;
    background: #ff433d !important;
    border: 0 !important;
    border-radius: 16px !important;
    bottom: 18px !important;
    box-sizing: border-box !important;
    color: #fff !important;
    display: flex !important;
    gap: 12px !important;
    height: 70px !important;
    left: 50% !important;
    max-height: 70px !important;
    max-width: 380px !important;
    min-height: 70px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 12px 16px !important;
    position: fixed !important;
    right: auto !important;
    top: auto !important;
    transform: translate(-50%, 18px) !important;
    width: min(380px, calc(100vw - 36px)) !important;
    z-index: 1185 !important;
}

body.public-menu-body .public-menu .public-cart-toggle.has-items {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
}

body.public-menu-body .public-menu .public-cart-toggle:not(.has-items) {
    opacity: 0 !important;
    pointer-events: none !important;
}

body.public-menu-body .public-menu .public-cart-toggle b {
    background: transparent !important;
    border-radius: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    min-width: 0 !important;
    padding: 0 !important;
}

@media (max-width: 680px) {
    body.public-menu-body .public-menu .public-cart-toggle {
        bottom: 16px !important;
        width: calc(100vw - 32px) !important;
    }
}

/* Sacola inferior: trava contra regras antigas/cacheadas do cardapio publico. */
body.public-menu-body .public-menu .public-cart-toggle {
    align-items: center !important;
    background: #ff433d !important;
    border: 0 !important;
    border-radius: 16px !important;
    bottom: 18px !important;
    box-sizing: border-box !important;
    color: #fff !important;
    display: flex !important;
    gap: 12px !important;
    height: 70px !important;
    left: 50% !important;
    max-height: 70px !important;
    max-width: 380px !important;
    min-height: 70px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 12px 16px !important;
    position: fixed !important;
    right: auto !important;
    top: auto !important;
    transform: translate(-50%, 18px) !important;
    width: min(380px, calc(100vw - 36px)) !important;
}

body.public-menu-body .public-menu .public-cart-toggle.has-items {
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translate(-50%, 0) !important;
}

body.public-menu-body .public-menu .public-cart-toggle:not(.has-items) {
    opacity: 0 !important;
    pointer-events: none !important;
}

body.public-menu-body .public-menu .public-cart-toggle b {
    background: transparent !important;
    border-radius: 0 !important;
    color: inherit !important;
    font-size: inherit !important;
    min-width: 0 !important;
    padding: 0 !important;
}

@media (max-width: 680px) {
    body.public-menu-body .public-menu .public-cart-toggle {
        bottom: 16px !important;
        width: calc(100vw - 32px) !important;
    }
}

* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

body {
    margin: 0;
    min-height: 100vh;
    background: var(--bg);
    color: var(--text);
    font-family: Inter, Arial, Helvetica, sans-serif;
    font-size: 15px;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

.login-page {
    background:
        radial-gradient(circle at 50% 22%, rgba(255, 255, 255, 0.72), transparent 34%),
        linear-gradient(145deg, #96aab5, #c7d1d6 52%, #8ca2ae);
    display: grid;
    place-items: center;
    padding: 24px;
}

.login-container {
    width: 100%;
    max-width: 500px;
}

.auth-logo-shell {
    border-radius: 24px;
    height: 285px;
    margin: 0 auto 12px;
    max-width: 500px;
    overflow: hidden;
}

.auth-page-logo {
    display: block;
    height: 100%;
    object-fit: contain;
    object-position: center;
    transform: scale(1.58);
    width: 100%;
}

.login-card,
.metric-card,
.empty-panel,
.table-panel,
.form-panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.login-card {
    background: rgba(255, 255, 255, 0.94);
    border-color: rgba(255, 255, 255, 0.72);
    color: var(--text);
    padding: 32px;
}

.login-card .brand p,
.login-card .login-form label,
.login-card .login-register-link {
    color: var(--muted);
}

.login-card .login-form input,
.login-card .login-form select {
    background: #f8fafc;
    color: #0f172a;
}

.login-card .login-form input,
.login-card .login-form select,
.login-card .login-form button {
    font-size: 16px;
    min-height: 50px;
}

.registration-container {
    max-width: 760px;
}

.registration-container .auth-logo-shell {
    max-width: 380px;
}

.registration-card {
    padding: 34px 40px;
}

.registration-form {
    display: grid;
    gap: 18px 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.registration-form .full-field {
    grid-column: 1 / -1;
}

.plan-container {
    max-width: 960px;
}

.plan-container .auth-logo-shell {
    max-width: 380px;
}

.plan-selection-card {
    padding: 34px 40px;
}

.plan-options {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.plan-option {
    background:
        linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.88)),
        radial-gradient(circle at top right, rgba(14, 165, 233, 0.22), transparent 45%);
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(2, 6, 23, 0.2);
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 24px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.plan-option:hover {
    border-color: rgba(125, 211, 252, 0.55);
    box-shadow: 0 24px 62px rgba(2, 6, 23, 0.28);
    transform: translateY(-2px);
}

.plan-pill {
    align-self: flex-start;
    background: rgba(125, 211, 252, 0.14);
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 999px;
    color: #bae6fd;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 14px;
    padding: 7px 11px;
    text-transform: uppercase;
}

.plan-option h2 {
    margin: 0 0 8px;
}

.plan-option p {
    color: #cbd5e1;
    line-height: 1.5;
}

.plan-option ul {
    color: #e2e8f0;
    display: grid;
    gap: 8px;
    margin: 12px 0 24px;
    padding-left: 20px;
}

.plan-option button {
    margin-top: auto;
    min-height: 50px;
    width: 100%;
}

.plan-price {
    color: #7dd3fc;
    font-size: 2rem;
    font-weight: 800;
}

.plan-price small {
    color: #cbd5e1;
    font-size: 0.95rem;
    font-weight: 500;
}

.brand,
.sidebar-brand {
    align-items: center;
    display: flex;
    gap: 12px;
}

.sidebar-brand > strong {
    margin-left: 0;
}

.brand {
    margin-bottom: 28px;
}

.brand h1,
.brand p,
.topbar h1,
.topbar p {
    margin: 0;
}

.brand h1 {
    font-size: 24px;
}

.brand p,
.topbar p,
.muted-text,
.form-header p {
    color: var(--muted);
}

.brand-logo {
    background: #ffffff;
    border-radius: 10px;
    height: 42px;
    object-fit: cover;
    width: 42px;
}

.login-brand-logo {
    display: block;
    height: auto;
    max-height: 112px;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    width: 240px;
}

.login-card .brand:has(.login-brand-logo) {
    align-items: center;
    flex-direction: column;
    text-align: center;
}

.login-form,
.data-form {
    display: grid;
    gap: 18px;
}

.login-form label,
.form-grid label {
    color: var(--muted);
    display: grid;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
}

.login-form input,
.form-grid input,
.form-grid select,
.form-grid textarea,
.order-item-row select,
.order-item-row input,
.item-search,
.inline-form input {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--text);
    min-height: 44px;
    padding: 11px 12px;
    width: 100%;
}

.login-form input:focus,
.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus,
.order-item-row select:focus,
.order-item-row input:focus,
.item-search:focus,
.inline-form input:focus {
    border-color: var(--primary);
    outline: 3px solid rgba(15, 159, 110, 0.14);
}

.login-form button,
.button-primary,
.button-secondary,
.button-danger,
.form-actions button,
.inline-form button {
    align-items: center;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 42px;
    padding: 11px 16px;
}

.login-form button,
.button-primary,
.form-actions button {
    background: var(--primary);
    color: #ffffff;
}

.login-form button:hover,
.button-primary:hover,
.form-actions button:hover {
    background: var(--primary-dark);
}

.button-secondary,
.inline-form button,
.actions-cell a,
.form-header a,
.form-actions a {
    background: #ffffff;
    border: 1px solid var(--line);
    color: var(--text);
}

.button-danger,
.danger-action,
.actions-cell button,
button[name="action"][value="delete"],
button[name="action"][value="delete_category"],
button[data-online-deny] {
    background: linear-gradient(135deg, #dc2626, #fb7185);
    border: 1px solid rgba(254, 202, 202, 0.42);
    box-shadow: 0 10px 28px rgba(220, 38, 38, 0.26);
    color: #ffffff;
}

.actions-cell a:nth-of-type(1),
.form-header a,
.form-actions a {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: var(--blue-dark);
}

.actions-cell a:nth-of-type(2) {
    background: #fff7ed;
    border-color: #fed7aa;
    color: var(--orange-dark);
}

.button-secondary {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: var(--blue-dark);
}

.button-secondary:hover,
.actions-cell a:nth-of-type(1):hover,
.form-header a:hover,
.form-actions a:hover {
    background: var(--blue);
    border-color: var(--blue);
    color: #ffffff;
}

.actions-cell a:nth-of-type(2):hover {
    background: var(--orange);
    border-color: var(--orange);
    color: #ffffff;
}

.button-danger:hover,
.danger-action:hover,
.actions-cell button:hover,
button[name="action"][value="delete"]:hover,
button[name="action"][value="delete_category"]:hover,
button[data-online-deny]:hover {
    background: linear-gradient(135deg, #b91c1c, #ef4444);
    border-color: rgba(254, 202, 202, 0.75);
    box-shadow: 0 14px 34px rgba(220, 38, 38, 0.36);
    color: #ffffff;
    transform: translateY(-1px);
}

.alert {
    background: var(--danger-bg);
    border: 1px solid rgba(248, 113, 113, 0.48);
    border-radius: 10px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 10px 30px rgba(127, 29, 29, .18);
    color: var(--danger);
    margin-bottom: 18px;
    padding: 12px 14px;
}

.warning-alert {
    background: var(--warning-bg);
    border-color: rgba(251, 191, 36, 0.48);
    color: var(--warning);
}

.success-alert {
    background: var(--success-bg);
    border-color: rgba(94, 234, 212, 0.48);
    color: var(--success);
}

.app-shell {
    display: flex;
    min-height: 100vh;
    max-width: 100vw;
    overflow-x: hidden;
}

.sidebar {
    background: var(--sidebar);
    color: #ffffff;
    flex: 0 0 260px;
    min-height: 100vh;
    padding: 22px 18px;
    position: sticky;
    top: 0;
}

.sidebar-brand {
    margin-bottom: 28px;
    padding: 0 8px;
}

.sidebar-menu {
    display: grid;
    gap: 6px;
}

.sidebar-menu a {
    border-radius: 10px;
    color: #cbd5e1;
    display: block;
    font-weight: 700;
    padding: 12px 14px;
}

.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: var(--sidebar-hover);
    color: #ffffff;
}

.sidebar-menu .logout-link {
    color: #fecaca;
    margin-top: 14px;
}

.success-action {
    background: var(--primary) !important;
}

.danger-action {
    background: var(--danger) !important;
}

.confirm-modal {
    align-items: center;
    background: rgba(15, 23, 42, 0.48);
    display: none;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 60;
}

.confirm-modal.open {
    display: flex;
}

.confirm-box {
    background: var(--panel);
    border: 1px solid rgba(56, 189, 248, .28);
    border-radius: 14px;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.42), inset 0 1px 0 rgba(255, 255, 255, .05);
    max-width: 420px;
    padding: 24px;
    width: 100%;
}

.confirm-box h2,
.confirm-box p {
    margin: 0;
}

.confirm-box p {
    color: var(--muted);
    margin-top: 10px;
}

.confirm-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 22px;
}

.main-content {
    flex: 1;
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    padding: 28px;
}

.topbar,
.form-header,
.section-title-row {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.topbar {
    margin-bottom: 24px;
}

.topbar h1,
.form-header h1 {
    font-size: 28px;
    letter-spacing: 0;
}

.menu-toggle {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: 4px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.menu-toggle span {
    background: var(--text);
    border-radius: 999px;
    display: block;
    height: 2px;
    width: 20px;
}

.cards-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.metric-card {
    padding: 20px;
}

.metric-card p {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    margin: 0 0 10px;
    text-transform: uppercase;
}

.metric-card strong {
    display: block;
    font-size: 28px;
    letter-spacing: 0;
}

.empty-panel,
.empty-state {
    padding: 24px;
}

.table-panel {
    overflow: hidden;
}

.table-scroll {
    overflow-x: visible;
    width: 100%;
}

table {
    border-collapse: collapse;
    table-layout: auto;
    width: 100%;
}

th,
td {
    border-bottom: 1px solid var(--line);
    padding: 13px;
    text-align: left;
    vertical-align: middle;
    word-break: break-word;
}

th {
    background: var(--panel-soft);
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
}

td {
    font-size: 14px;
}

.status-badge {
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
}

.status-normal {
    background: var(--success-bg);
    color: var(--success);
}

.status-normal,
.status-low,
.status-muted {
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}

.status-low {
    background: var(--warning-bg);
    color: var(--warning);
}

.status-muted {
    background: var(--muted-bg);
    color: var(--muted);
}

.status-info {
    background: #dbeafe;
    color: var(--blue-dark);
}

.status-waiting-payment {
    background: var(--warning-bg);
    color: var(--warning);
}

.payment-badge {
    border-radius: 999px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 900;
    padding: 7px 12px;
}

.payment-paid {
    background: var(--success-bg);
    color: var(--success);
}

.payment-pending {
    background: var(--warning-bg);
    color: var(--warning);
}

.pending-payment-row {
    background: #fffbeb;
}

.clickable-row {
    cursor: pointer;
}

.clickable-row:hover {
    background: #f0fdf4;
}

.quick-pay-form {
    align-items: center;
    display: flex;
    gap: 6px;
    margin: 0;
}

.quick-pay-form select {
    border: 1px solid var(--line);
    border-radius: 10px;
    min-height: 38px;
    padding: 8px;
}

.quick-pay-form .pay-button {
    background: var(--success-bg);
    border: 1px solid rgba(8, 127, 91, 0.18);
    color: var(--success);
}

.low-stock-row {
    background: #fffbeb;
}

.compact-list {
    display: grid;
    gap: 4px;
    margin: 0;
    padding-left: 18px;
}

.actions-cell,
.header-actions,
.form-actions,
.inline-form,
.order-item-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-actions-panel {
    align-items: center;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    padding: 14px;
}

.admin-actions-panel form {
    margin: 0;
}

.manual-subscription-card {
    background:
        linear-gradient(135deg, rgba(15, 159, 110, 0.1), rgba(37, 99, 235, 0.08)),
        #ffffff;
    border: 1px solid rgba(15, 159, 110, 0.16);
    border-radius: 18px;
    display: grid;
    gap: 16px;
    margin-top: 22px;
    padding: 18px;
}

.manual-subscription-card h3,
.manual-subscription-card p {
    margin: 0;
}

.manual-subscription-card p {
    color: var(--muted);
    margin-top: 4px;
}

.manual-business-type {
    color: var(--muted);
    display: grid;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
}

.manual-business-type select {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--text);
    min-height: 46px;
    padding: 10px 12px;
    width: 100%;
}

.duration-selector {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.duration-selector label {
    cursor: pointer;
    display: block;
}

.duration-selector input {
    clip: rect(0 0 0 0);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.duration-selector span {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: var(--text);
    display: flex;
    font-weight: 900;
    justify-content: center;
    min-height: 48px;
    padding: 10px 12px;
    transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, color 0.16s ease;
}

.duration-selector input:checked + span {
    background: var(--primary-soft);
    border-color: var(--primary);
    box-shadow: inset 0 0 0 2px rgba(15, 159, 110, 0.14);
    color: var(--primary-dark);
}

.actions-cell a,
.actions-cell button,
.form-header a,
.form-actions a {
    border-radius: 10px;
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    min-height: 38px;
    padding: 9px 12px;
}

.actions-cell form {
    margin: 0;
}

.header-actions form {
    display: flex;
    margin: 0;
}

.embedded-print-frame {
    border: 0;
    height: 1px;
    left: -10000px;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 1px;
}

.compact-item-list {
    display: grid;
    gap: 8px;
}

.compact-item-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
}

.compact-item-card > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    min-height: 56px;
    padding: 14px 16px;
}

.compact-item-card > summary::-webkit-details-marker {
    display: none;
}

.compact-item-card > summary strong {
    color: var(--text);
    font-size: 15px;
}

.compact-item-chevron {
    border-bottom: 2px solid var(--muted);
    border-right: 2px solid var(--muted);
    height: 9px;
    margin-right: 4px;
    transform: rotate(45deg);
    transition: transform 0.18s ease;
    width: 9px;
}

.compact-item-card[open] .compact-item-chevron {
    transform: rotate(225deg);
}

.compact-item-card[open] > summary {
    background: var(--panel-soft);
    border-bottom: 1px solid var(--line);
}

.compact-item-content {
    display: grid;
    gap: 16px;
    padding: 16px;
}

.compact-item-details {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.compact-item-details article {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px;
}

.compact-item-details article > span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.compact-item-details article > strong,
.compact-item-details article > ul {
    color: var(--text);
    margin-bottom: 0;
    margin-top: 0;
}

.compact-item-wide {
    grid-column: 1 / -1;
}

.compact-item-actions {
    display: flex;
    justify-content: flex-end;
}

.compact-item-card.is-low {
    border-color: rgba(245, 158, 11, 0.55);
}

@media (max-width: 600px) {
    .compact-item-details {
        grid-template-columns: 1fr;
    }

    .compact-item-actions .button-primary {
        width: 100%;
    }
}

.standalone-page {
    margin: 0 auto;
    max-width: 980px;
    padding: 28px;
}

.wide-page {
    max-width: 1180px;
}

.form-panel {
    padding: 22px;
}

.form-header {
    margin-bottom: 22px;
}

.form-header h1,
.form-header p,
.empty-state h2,
.empty-state p,
.summary-box p {
    margin: 0;
}

.form-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.full-field {
    grid-column: 1 / -1;
}

.checkbox-field,
.form-grid .checkbox-field,
.settings-check {
    align-items: center;
    color: var(--text);
    display: flex;
    font-weight: 800;
    gap: 10px;
}

.checkbox-field input {
    min-height: auto;
    width: auto;
}

.form-actions {
    justify-content: flex-end;
}

.bulk-stock-table {
    display: grid;
    gap: 10px;
    overflow-x: auto;
}

.bulk-stock-head,
.bulk-stock-row,
.bulk-menu-head,
.bulk-menu-row {
    display: grid;
    gap: 10px;
}

.bulk-stock-head,
.bulk-stock-row {
    min-width: 900px;
}

.bulk-stock-table.with-category.with-addon .bulk-stock-head,
.bulk-stock-table.with-category.with-addon .bulk-stock-row {
    grid-template-columns: minmax(180px, 1.4fr) minmax(150px, 1fr) repeat(4, minmax(90px, 0.65fr)) minmax(150px, 1fr) minmax(110px, 0.6fr);
    min-width: 1060px;
}

.bulk-stock-table.with-category.without-addon .bulk-stock-head,
.bulk-stock-table.with-category.without-addon .bulk-stock-row {
    grid-template-columns: minmax(190px, 1.45fr) minmax(150px, 1fr) repeat(4, minmax(90px, 0.65fr)) minmax(160px, 1fr);
    min-width: 960px;
}

.bulk-stock-table.without-category.with-addon .bulk-stock-head,
.bulk-stock-table.without-category.with-addon .bulk-stock-row {
    grid-template-columns: minmax(190px, 1.5fr) repeat(4, minmax(90px, 0.7fr)) minmax(160px, 1fr) minmax(110px, 0.6fr);
    min-width: 900px;
}

.bulk-stock-table.without-category.without-addon .bulk-stock-head,
.bulk-stock-table.without-category.without-addon .bulk-stock-row {
    grid-template-columns: minmax(190px, 1.5fr) repeat(4, minmax(90px, 0.7fr)) minmax(160px, 1fr);
    min-width: 760px;
}

.bulk-menu-head,
.bulk-menu-row {
    grid-template-columns: minmax(200px, 1.2fr) minmax(170px, .9fr) minmax(110px, .55fr) minmax(110px, .55fr) minmax(240px, 1.2fr);
    min-width: 860px;
}

.bulk-stock-head,
.bulk-menu-head {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.bulk-stock-rows,
.bulk-menu-rows {
    display: grid;
    gap: 10px;
}

.bulk-csv-import {
    align-items: center;
    background: linear-gradient(135deg, rgba(14, 165, 233, .1), rgba(16, 185, 129, .06));
    border: 1px dashed rgba(56, 189, 248, .38);
    border-radius: 15px;
    display: grid;
    gap: 12px 18px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-bottom: 16px;
    padding: 16px;
}
.bulk-csv-import > div { align-items: center; display: flex; gap: 12px; }
.bulk-csv-import h2 { font-size: 1rem; margin: 0 0 3px; }
.bulk-csv-import p { color: var(--muted); font-size: .82rem; margin: 0; }
.bulk-csv-icon {
    align-items: center; background: rgba(34,211,238,.14); border: 1px solid rgba(103,232,249,.32);
    border-radius: 10px; color: #67e8f9; display: inline-flex; flex: 0 0 42px; font-size: .67rem;
    font-weight: 900; height: 42px; justify-content: center; letter-spacing: .04em;
}
.bulk-csv-import > label { cursor: pointer; margin: 0; }
.bulk-csv-import > button { grid-column: 2; margin: 0; }
.bulk-csv-import > small { color: var(--muted); font-size: .75rem; grid-column: 1 / -1; }
.bulk-csv-import > small.is-ready { color: #86efac; font-weight: 700; }
@media (max-width: 680px) {
    .bulk-csv-import { grid-template-columns: 1fr; }
    .bulk-csv-import > label { text-align: center; width: 100%; }
    .bulk-csv-import > button { grid-column: 1; width: 100%; }
}

.bulk-stock-row,
.bulk-menu-row {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 10px;
}

.bulk-stock-row input,
.bulk-stock-row select,
.bulk-menu-row input {
    border: 1px solid var(--line);
    border-radius: 10px;
    min-height: 42px;
    padding: 10px;
    width: 100%;
}

.compact-checkbox {
    align-items: center;
    background: rgba(20, 184, 166, 0.08);
    border: 1px solid rgba(34, 211, 238, 0.25);
    border-radius: 10px;
    color: var(--text);
    display: flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 42px;
    padding: 10px;
}

.compact-checkbox input {
    min-height: auto;
    width: auto;
}

.movement-history,
.finance-highlight,
.finance-grid {
    margin-top: 18px;
}

.search-bar {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    display: flex;
    gap: 10px;
    margin-bottom: 18px;
    padding: 14px;
}

.search-bar input {
    border: 1px solid var(--line);
    border-radius: 10px;
    flex: 1;
    min-height: 44px;
    padding: 11px 12px;
}

.search-bar button,
.search-bar a {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
}

.search-bar button {
    background: var(--primary);
    border: 0;
    color: #ffffff;
    cursor: pointer;
}

.search-bar a {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: var(--blue-dark);
}

.movement-history h2,
.finance-grid .form-panel h2,
.finance-highlight h2 {
    font-size: 20px;
    margin: 0 0 14px;
}

.items-builder {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 16px;
}

#order-items-list {
    display: grid;
    gap: 10px;
}

.product-picker {
    background: #ffffff;
}

.product-search {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-bottom: 14px;
    min-height: 48px;
    padding: 12px 14px;
    width: 100%;
}

.product-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    max-height: 360px;
    overflow-y: auto;
    padding-right: 4px;
}

.product-card {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    cursor: pointer;
    display: grid;
    gap: 8px;
    min-height: 86px;
    padding: 14px;
    text-align: left;
    transition: border-color 0.16s ease, transform 0.16s ease, background 0.16s ease;
}

.product-card:hover {
    background: var(--primary-soft);
    border-color: var(--primary);
    transform: translateY(-1px);
}

.product-card.selected {
    background: var(--primary-soft);
    border-color: var(--primary);
    box-shadow: inset 0 0 0 2px rgba(15, 159, 110, 0.16);
}

.product-card strong {
    font-size: 15px;
}

.product-card small {
    color: #67e8f9;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.category-management {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 16px;
}

.central-status-menu {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 20px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 10px 0 18px;
    padding: 10px;
}

.central-status-menu a {
    align-items: center;
    background: var(--panel-soft);
    border: 1px solid transparent;
    border-radius: 16px;
    color: var(--text);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 14px 16px;
    text-decoration: none;
}

.central-status-menu a.active,
.central-status-menu a:hover {
    background: linear-gradient(135deg, var(--primary), #0ea5e9);
    color: #031525;
}

.central-status-menu span {
    font-weight: 900;
}

.central-status-menu strong {
    background: #061221;
    border-radius: 999px;
    color: #e0f2fe;
    min-width: 34px;
    padding: 6px 9px;
    text-align: center;
}

.order-summary-row {
    cursor: pointer;
}

.order-summary-row.is-expanded,
.order-summary-row:hover {
    background: #13233a;
}

.order-details-row td {
    background: #0b1424;
    padding: 0;
}

.order-details-card {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    padding: 16px;
}

.order-details-card p {
    color: #dbeafe;
    margin: 0;
}

.order-list-timer {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #dbeafe;
    display: grid;
    gap: 2px 8px;
    grid-template-columns: 34px auto;
    justify-content: start;
    min-width: 112px;
    padding: 0;
}

.order-list-timer i {
    align-self: center;
    background:
        radial-gradient(circle at center, #081527 52%, transparent 53%),
        conic-gradient(#22d3ee calc(var(--timer-progress, 100) * 1%), #172235 0);
    border: 1px solid rgba(34, 211, 238, .42);
    border-radius: 50%;
    grid-row: span 2;
    height: 34px;
    width: 34px;
}

.order-list-timer span {
    color: #f8fafc;
    font-size: 14px;
    font-weight: 950;
    line-height: 1;
}

.order-list-timer small {
    color: #67e8f9;
    font-size: 9px;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
}

.order-list-timer.is-warning {
    color: #fde68a;
}

.order-list-timer.is-warning i {
    background:
        radial-gradient(circle at center, #081527 52%, transparent 53%),
        conic-gradient(#f59e0b calc(var(--timer-progress, 100) * 1%), #172235 0);
    border-color: rgba(245, 158, 11, .6);
}

.order-list-timer.is-danger {
    color: #fecaca;
}

.order-list-timer.is-danger i {
    background:
        radial-gradient(circle at center, #081527 52%, transparent 53%),
        conic-gradient(#ef4444 calc(var(--timer-progress, 100) * 1%), #172235 0);
    border-color: rgba(239, 68, 68, .7);
}

.compact-action {
    min-height: 34px;
    padding: 8px 11px;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .central-status-menu {
        grid-template-columns: 1fr 1fr;
    }

    .order-details-card {
        align-items: stretch;
        flex-direction: column;
    }
}

.inline-category-delete {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.category-input-row {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.compact-modal {
    max-width: 520px;
}

.image-upload-field {
    display: grid;
    gap: 10px;
}

.image-upload-field > span {
    color: #e5edf7;
    font-weight: 900;
}

.image-upload-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.image-avatar-preview,
.image-product-preview,
.public-product-media,
.menu-item-thumb {
    align-items: center;
    background: #08111f;
    border: 1px solid #263d5c;
    color: #8ea2bd;
    display: inline-flex;
    flex-shrink: 0;
    justify-content: center;
    overflow: hidden;
}

.image-avatar-preview {
    border-radius: 18px;
    height: 82px;
    width: 82px;
}

.image-cover-preview {
    border-radius: 16px;
    height: 92px;
    width: min(260px, 100%);
}

.image-product-preview {
    border-radius: 14px;
    flex-direction: column;
    gap: 4px;
    height: 96px;
    width: 128px;
}

.image-product-preview small,
.public-product-media small {
    color: #8ea2bd;
    font-size: 11px;
    font-weight: 800;
}

.image-avatar-preview img,
.image-product-preview img,
.public-product-media img,
.menu-item-thumb img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.image-upload-button input {
    display: none;
}

[data-image-upload-status] {
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    display: block;
    padding: 9px 11px;
}

[data-image-upload-status].is-ready {
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(16, 185, 129, 0.44);
    color: #86efac;
    font-weight: 800;
}

[data-image-upload-status].is-ready::before {
    content: "OK ";
}

.image-crop-open {
    overflow: hidden;
}

.image-crop-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: clamp(8px, 2vh, 18px);
    position: fixed;
    z-index: 5000;
}

.image-crop-modal[hidden] {
    display: none;
}

.image-crop-backdrop {
    background: rgba(2, 6, 23, 0.74);
    inset: 0;
    position: absolute;
}

.image-crop-card {
    background: #08111f;
    border: 1px solid rgba(56, 189, 248, 0.28);
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
    color: #e5edf7;
    display: grid;
    gap: clamp(10px, 1.8vh, 16px);
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    max-height: calc(100vh - clamp(16px, 4vh, 36px));
    max-height: calc(100dvh - clamp(16px, 4vh, 36px));
    max-width: 540px;
    overflow: hidden;
    padding: clamp(12px, 2vh, 18px);
    position: relative;
    width: min(100%, 540px);
}

.image-crop-header {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.image-crop-header h2 {
    font-size: clamp(1.05rem, 2.5vh, 1.35rem);
    margin: 0 0 4px;
}

.image-crop-header p {
    color: #a8b7cc;
    font-size: 0.84rem;
    margin: 0;
}

.image-crop-title {
    align-items: center;
    display: flex;
    gap: 11px;
    min-width: 0;
}

.image-crop-title-icon {
    background: linear-gradient(135deg, rgba(34, 211, 238, .22), rgba(59, 130, 246, .12));
    border: 1px solid rgba(125, 211, 252, .3);
    border-radius: 11px;
    flex: 0 0 38px;
    height: 38px;
    position: relative;
}

.image-crop-title-icon::before,
.image-crop-title-icon::after {
    border-color: #67e8f9;
    border-style: solid;
    content: "";
    inset: 10px;
    position: absolute;
}

.image-crop-title-icon::before { border-width: 2px 0 0 2px; }
.image-crop-title-icon::after { border-width: 0 2px 2px 0; }

.image-crop-close {
    align-items: center;
    background: rgba(15, 32, 56, 0.9);
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    padding: 0;
    position: relative;
    width: 38px;
}

.image-crop-close::before,
.image-crop-close::after {
    background: #e5edf7;
    border-radius: 999px;
    content: "";
    height: 2px;
    position: absolute;
    width: 16px;
}

.image-crop-close::before {
    transform: rotate(45deg);
}

.image-crop-close::after {
    transform: rotate(-45deg);
}

.image-crop-stage {
    aspect-ratio: 1 / 1;
    background: #020817;
    border: 1px solid rgba(125, 211, 252, 0.32);
    border-radius: 24px;
    cursor: grab;
    overflow: hidden;
    position: relative;
    touch-action: none;
    width: min(100%, calc(100vh - 210px));
    width: min(100%, calc(100dvh - 210px));
    max-height: calc(100vh - 210px);
    max-height: calc(100dvh - 210px);
    min-height: 110px;
    justify-self: center;
}

.image-crop-stage[data-crop-shape="cover"] {
    aspect-ratio: 16 / 7;
    border-radius: 18px;
    width: 100%;
}

.image-crop-stage::after {
    border: 2px solid rgba(255, 255, 255, 0.86);
    border-radius: inherit;
    box-shadow: 0 0 0 999px rgba(2, 6, 23, 0.34);
    content: "";
    inset: 10px;
    pointer-events: none;
    position: absolute;
}

.image-crop-stage.is-dragging {
    cursor: grabbing;
}

.image-crop-stage img {
    left: 50%;
    max-width: none;
    pointer-events: none;
    position: absolute;
    top: 50%;
    user-select: none;
}

.image-crop-zoom {
    color: #dbeafe;
    display: grid;
    font-weight: 800;
    gap: 8px;
}

.image-crop-controls {
    align-items: end;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
}

.image-crop-reset {
    min-height: 38px;
    padding: 7px 12px;
}

.image-crop-zoom input {
    accent-color: #22d3ee;
    width: 100%;
}

.image-crop-actions {
    background: inherit;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.image-crop-actions button {
    min-height: 44px;
    min-width: 112px;
}

body.app-theme-light .image-crop-card {
    background: #ffffff;
    border-color: #cbd5e1;
    color: #0f172a;
}

body.app-theme-light .image-crop-header p,
body.app-theme-light .image-crop-zoom {
    color: #475569;
}

body.app-theme-light .image-crop-stage {
    background: #f8fafc;
    border-color: #cbd5e1;
}

body.app-theme-light .image-crop-stage::after {
    border-color: rgba(15, 23, 42, 0.72);
    box-shadow: 0 0 0 999px rgba(15, 23, 42, 0.22);
}

@media (max-width: 640px) {
    .image-crop-modal {
        padding: 10px;
    }

    .image-crop-card {
        border-radius: 16px;
        padding: 14px;
    }

    .image-crop-header p { font-size: .78rem; }

    .image-crop-title-icon { display: none; }

    .image-crop-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-height: 620px) {
    .image-crop-modal { align-items: stretch; }
    .image-crop-card { margin: auto; }
    .image-crop-header p { display: none; }
    .image-crop-stage {
        max-height: calc(100vh - 174px);
        max-height: calc(100dvh - 174px);
        width: min(100%, calc(100vh - 174px));
        width: min(100%, calc(100dvh - 174px));
    }
    .image-crop-stage[data-crop-shape="cover"] { width: 100%; }
    .image-crop-zoom { gap: 3px; }
    .image-crop-actions button { min-height: 38px; }
}

.business-hours-editor {
    background: rgba(8, 17, 31, 0.42);
    border: 1px solid rgba(56, 189, 248, 0.18);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    padding: 14px;
}

.business-hours-editor > div {
    display: grid;
    gap: 3px;
}

.business-hours-editor strong {
    color: #e5edf7;
    font-weight: 900;
}

.business-hours-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: 22px minmax(86px, 1fr) 130px 130px;
}

.business-hours-row span {
    color: #e5edf7;
    font-weight: 800;
}

.business-hours-time-fields {
    display: grid;
    gap: 8px;
    grid-column: span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.business-hours-time-fields input[type="time"] {
    min-width: 0;
}

.public-product-detail-modal {
    align-items: center;
    background: rgba(2, 6, 23, 0.78);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 1100;
}

.public-product-detail-box {
    background: #0b1626;
    border: 1px solid rgba(34, 211, 238, 0.38);
    border-radius: 18px;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.45);
    display: grid;
    gap: 18px;
    grid-template-columns: 180px minmax(0, 1fr);
    max-width: 720px;
    padding: 20px;
    position: relative;
    width: min(100%, 720px);
}

.public-product-detail-media {
    align-items: center;
    aspect-ratio: 1;
    background: #08111f;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 16px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.public-product-detail-media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.public-product-detail-info {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.public-product-detail-info h2,
.public-product-detail-info p {
    margin: 0;
    overflow-wrap: anywhere;
}

.public-product-detail-info h2 {
    color: #f8fafc;
    font-size: 26px;
}

.public-product-detail-info p {
    color: #b7c5d8;
    line-height: 1.55;
    white-space: pre-wrap;
}

.public-product-detail-info strong {
    color: #22f4c7;
    font-size: 22px;
}

.modal-close-button {
    background: #15243a;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 999px;
    color: #f8fafc;
    cursor: pointer;
    font-size: 24px;
    height: 40px;
    line-height: 1;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 40px;
}

@media (max-width: 640px) {
    .business-hours-row {
        grid-template-columns: 22px minmax(0, 1fr);
    }

    .business-hours-time-fields {
        grid-column: 1 / -1;
    }

    .public-product-detail-box {
        grid-template-columns: 1fr;
        max-height: calc(100vh - 36px);
        overflow: auto;
    }

    .public-product-detail-media {
        max-height: 260px;
    }
}

.menu-item-thumb {
    border-radius: 10px;
    height: 44px;
    margin-right: 10px;
    width: 44px;
}

body.app-theme-light {
    --bg: #f3f7fb;
    --panel: #ffffff;
    --panel-soft: #eef5fb;
    --sidebar: #ffffff;
    --sidebar-hover: #dbeafe;
    --text: #0f172a;
    --muted: #475569;
    color: #0f172a;
}

body.app-theme-light .app-shell,
body.app-theme-light .main-content {
    background: linear-gradient(180deg, #f8fbff, #eaf2fb) !important;
}

body.app-theme-light .sidebar,
body.app-theme-light .form-panel,
body.app-theme-light .table-panel,
body.app-theme-light .metric-card,
body.app-theme-light .compact-item-card,
body.app-theme-light .account-settings-drawer,
body.app-theme-light input,
body.app-theme-light select,
body.app-theme-light textarea {
    background: rgba(255, 255, 255, 0.94) !important;
    border-color: rgba(37, 99, 235, 0.18) !important;
    color: #0f172a !important;
}

body.app-theme-light .sidebar-menu a,
body.app-theme-light .topbar p,
body.app-theme-light small,
body.app-theme-light .muted {
    color: #334155 !important;
}

.account-config-section {
    background: var(--color-bg-surface, rgba(15, 23, 42, .48));
    border: 1px solid var(--color-border-default, rgba(56, 189, 248, .16));
    border-radius: 14px;
    display: grid;
    gap: 14px;
    padding: 16px;
}

.menu-theme-editor {
    border: 0;
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
}

.menu-theme-editor fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

.menu-theme-editor legend,
.business-hours-editor legend {
    color: var(--color-text-primary, #e5edf7);
    font-weight: 900;
    padding: 0;
}

.menu-theme-row {
    align-items: center;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
}

.menu-theme-choice {
    cursor: pointer;
    display: block;
}

.menu-theme-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.menu-theme-choice span {
    align-items: center;
    background: var(--color-bg-surface-secondary, rgba(15, 23, 42, .56));
    border: 1px solid var(--color-border-default, rgba(56, 189, 248, .18));
    border-radius: 12px;
    color: var(--color-text-primary, #e5edf7);
    display: flex;
    font-weight: 900;
    gap: 8px;
    min-height: 44px;
    padding: 10px 12px;
}

.menu-theme-choice input:checked + span {
    background: var(--color-primary-soft, rgba(14, 165, 233, .16));
    border-color: var(--color-primary, #22d3ee);
}

.menu-theme-choice input:checked + span::before {
    content: "✓";
    color: var(--color-primary, #22d3ee);
    font-weight: 950;
}

.menu-color-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.menu-color-field {
    display: grid;
    gap: 8px;
}

.menu-color-field > span {
    color: var(--color-text-secondary, #b7c5d8);
    font-size: 13px;
    font-weight: 900;
}

.menu-color-field i {
    align-items: center;
    background: var(--color-bg-input, rgba(2, 6, 23, .55));
    border: 1px solid var(--color-border-default, rgba(56, 189, 248, .18));
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: 44px minmax(0, 1fr);
    padding: 8px;
}

.menu-color-field input[type="color"] {
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    height: 36px;
    padding: 0;
    width: 44px;
}

.menu-color-field input[type="text"] {
    background: transparent;
    border: 0;
    color: var(--color-text-primary, #f8fafc);
    font-weight: 900;
    min-height: 34px;
    padding: 0;
    text-transform: uppercase;
}

.menu-theme-feedback {
    color: var(--color-text-secondary, #9fb2c9);
    margin: 0;
}

.menu-theme-actions {
    justify-content: flex-end;
}

.menu-theme-reset {
    align-self: stretch;
    min-height: 44px;
    white-space: nowrap;
}

.business-hours-editor {
    padding-top: 18px;
}

.business-hours-editor > small {
    display: block;
    margin-bottom: 4px;
}

.business-hours-row {
    grid-template-columns: 22px minmax(92px, 1fr) minmax(150px, 220px);
}

.compact-item-list .compact-item-card > summary {
    align-items: center;
    display: grid !important;
    gap: 14px;
    grid-template-columns: 70px minmax(0, 1fr) 28px;
    min-height: 96px;
    padding: 14px 18px !important;
}

.compact-item-list .menu-item-thumb {
    height: 58px;
    margin: 0;
    width: 58px;
}

.menu-item-summary-text {
    display: grid;
    gap: 4px;
    min-width: 0;
    text-align: left;
}

.menu-item-summary-text strong,
.menu-item-summary-text small,
.menu-item-summary-text b {
    margin: 0;
    overflow-wrap: anywhere;
}

.menu-item-summary-text strong {
    color: #f8fafc;
    font-size: 18px;
}

.menu-item-summary-text small {
    color: #a9bdd3;
    line-height: 1.35;
}

.menu-item-summary-text b {
    color: #22f4c7;
}

body.app-theme-light .menu-item-summary-text strong {
    color: #0f172a;
}

body.app-theme-light .menu-item-summary-text small {
    color: #475569 !important;
}

.theme-toggle-button {
    align-self: start;
    background: rgba(15, 32, 56, .72);
    border: 1px solid rgba(56, 189, 248, .28);
    border-radius: 999px;
    color: #dff7ff;
    cursor: pointer;
    font-weight: 900;
    min-height: 38px;
    padding: 0 14px;
}

body.app-theme-light .theme-toggle-button {
    background: #0f172a;
    border-color: #0f172a;
    color: #f8fafc;
}

body.app-theme-light h1,
body.app-theme-light h2,
body.app-theme-light h3,
body.app-theme-light .section-title-row h2,
body.app-theme-light .topbar h1,
body.app-theme-light .form-panel h2,
body.app-theme-light .account-settings-toggle span {
    color: #0f172a !important;
}

body.app-theme-light p,
body.app-theme-light .form-panel p,
body.app-theme-light .topbar p,
body.app-theme-light .section-title-row p,
body.app-theme-light .account-settings-toggle small {
    color: #475569 !important;
}

body.app-theme-light .detail-grid article,
body.app-theme-light .account-details article,
body.app-theme-light .compact-stat-list p,
body.app-theme-light .account-quick-grid button {
    background: #f8fafc !important;
    border-color: rgba(37, 99, 235, .16) !important;
    color: #0f172a !important;
}

body.app-theme-light .detail-grid article span,
body.app-theme-light .account-details article span,
body.app-theme-light .compact-stat-list span {
    color: #64748b !important;
}

body.app-theme-light .detail-grid article strong,
body.app-theme-light .account-details article strong,
body.app-theme-light .compact-stat-list strong,
body.app-theme-light .account-quick-grid strong {
    color: #0f172a !important;
}

body.app-theme-light .button-secondary,
body.app-theme-light .account-settings-toggle,
body.app-theme-light .subtle-button {
    background: #e0f2fe !important;
    border-color: #7dd3fc !important;
    color: #0f172a !important;
}

body.app-theme-light .button-primary,
body.app-theme-light button[type="submit"]:not(.button-danger),
body.app-theme-light .account-subscribe-link {
    color: #031521 !important;
}

body.app-theme-light .image-avatar-preview:has(.no-photo-icon),
body.app-theme-light .image-product-preview:has(.no-photo-icon),
body.app-theme-light .menu-item-thumb:has(.no-photo-icon) {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #64748b !important;
}

body:not(.app-theme-light) .image-avatar-preview:has(.no-photo-icon),
body:not(.app-theme-light) .image-product-preview:has(.no-photo-icon),
body:not(.app-theme-light) .menu-item-thumb:has(.no-photo-icon) {
    background: #08111f !important;
    border-color: #263d5c !important;
    color: #8ea2bd !important;
}

.account-suggestion-callout {
    align-items: center;
    background: rgba(15, 32, 56, .7);
    border: 1px solid rgba(56, 189, 248, .18);
    border-radius: 16px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 16px;
    width: 100%;
}

.account-suggestion-footer {
    margin-top: 16px;
}

.account-data-portability {
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.account-data-portability h2,
.account-data-portability p {
    margin: 0;
}

.account-data-portability p {
    color: #9fb2c9;
    margin-top: 6px;
}

.account-portability-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.settings-subsection-title {
    border-top: 1px solid rgba(56, 189, 248, .16);
    margin-top: 6px;
    padding-top: 18px;
}

.settings-subsection-title h3,
.settings-subsection-title p {
    margin: 0;
}

.settings-subsection-title h3 {
    color: #f8fafc;
}

.settings-subsection-title p {
    color: #9fb2c9;
    margin-top: 4px;
}

.account-summary-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.account-quick-settings {
    background: rgba(15, 23, 42, .48);
    border: 1px solid rgba(56, 189, 248, .16);
    border-radius: 16px;
    display: grid;
    gap: 18px;
    padding: 22px;
}

.account-quick-settings h2,
.account-quick-settings p {
    margin: 0;
}

.account-quick-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.account-quick-grid button {
    background: rgba(15, 32, 56, .72);
    border: 1px solid rgba(56, 189, 248, .14);
    border-radius: 12px;
    color: #e5edf7;
    cursor: pointer;
    display: grid;
    gap: 5px;
    min-height: 96px;
    padding: 16px;
    text-align: left;
    transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.account-quick-grid button:hover {
    background: rgba(14, 165, 233, .13);
    border-color: rgba(34, 211, 238, .42);
    transform: translateY(-1px);
}

.account-quick-grid span {
    color: #38dff5;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.account-quick-grid strong {
    color: #f8fafc;
}

.account-quick-grid small {
    color: #9fb2c9;
    line-height: 1.35;
}

.finance-page .page-topbar {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.finance-top-filter {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.finance-top-filter label {
    color: #9fb2c9;
    display: grid;
    font-size: 12px;
    gap: 5px;
}

.finance-top-filter label span {
    display: flex;
    gap: 6px;
}

.finance-top-filter .single-date-range {
    background: rgba(5, 12, 24, .68);
    border: 1px solid rgba(56, 189, 248, .16);
    border-radius: 12px;
    padding: 4px;
}

.finance-top-filter input {
    background: transparent !important;
    border: 0 !important;
    min-height: 40px;
    width: 136px;
}

.finance-top-filter a.button-secondary {
    align-items: center;
    display: inline-flex;
    min-height: 46px;
    text-decoration: none;
}

.finance-page .cards-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.finance-page .metric-card {
    min-height: 96px;
    position: relative;
}

.finance-page .finance-highlight,
.finance-page .finance-summary-grid {
    display: grid;
    gap: 16px;
}

.finance-page .finance-highlight {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
}

.finance-side-summary {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr;
}

.finance-page .finance-summary-grid {
    grid-template-columns: 1fr;
    display: none;
}

.finance-page .finance-highlight + .finance-summary-grid {
    margin-top: -16px;
}

.finance-page .finance-summary-card {
    min-height: 0;
}

.finance-page .finance-analysis {
    margin-top: 6px;
}

@media (max-width: 1100px) {
    .finance-page .cards-grid,
    .account-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-page .page-topbar,
    .finance-page .finance-highlight,
    .account-summary-grid {
        grid-template-columns: 1fr;
    }

    .menu-theme-editor {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .finance-page .cards-grid,
    .account-quick-grid {
        grid-template-columns: 1fr;
    }

    .finance-top-filter,
    .finance-top-filter label span {
        align-items: stretch;
        flex-direction: column;
        width: 100%;
    }

    .finance-top-filter input,
    .finance-top-filter button,
    .finance-top-filter a.button-secondary {
        width: 100%;
    }

    .account-data-portability,
    .account-suggestion-callout {
        align-items: stretch;
        flex-direction: column;
    }

    .menu-theme-editor,
    .menu-theme-row,
    .menu-color-grid {
        grid-template-columns: 1fr;
    }

    .menu-theme-reset,
    .menu-theme-actions button {
        width: 100%;
    }
}

.public-product-card {
    align-items: center;
    grid-template-columns: 92px minmax(0, 1fr) auto;
}

.public-product-media {
    border-radius: 14px;
    flex-direction: column;
    gap: 4px;
    height: 82px;
    width: 82px;
}

.public-product-media span,
.image-product-preview span,
.image-avatar-preview span,
.menu-item-thumb span {
    font-size: 24px;
    line-height: 1;
}

@media (max-width: 640px) {
    .public-product-card {
        grid-template-columns: 72px minmax(0, 1fr) auto;
    }

    .public-product-media {
        height: 64px;
        width: 64px;
    }

    .public-product-media small {
        display: none;
    }
}

.modal-backdrop {
    align-items: center;
    background: rgba(2, 6, 23, .78);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 1000;
}

.modal-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 24px 80px #020617cc;
    color: #f8fafc;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    padding: 22px;
    width: min(100%, 720px);
}

@media (max-width: 700px) {
    .category-input-row,
    .inline-category-delete {
        grid-template-columns: 1fr;
        width: 100%;
    }

    .category-input-row {
        display: grid;
    }
}

.product-card span {
    color: var(--success);
    font-weight: 900;
}

.order-summary-list {
    background: #f0fdf4;
    border: 1px solid rgba(8, 127, 91, 0.18);
    border-radius: 12px;
    padding: 14px;
}

.order-summary-list h3,
.catalog-picker h3 {
    font-size: 16px;
    margin: 0 0 12px;
}

.catalog-picker {
    border-top: 1px solid var(--line);
    margin-top: 18px;
    padding-top: 18px;
}

.selected-order-item {
    align-items: end;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(180px, 1.4fr) 74px minmax(125px, .55fr) minmax(140px, .8fr) auto;
    padding: 12px;
}

.addon-picker {
    align-self: end;
    min-width: 125px;
    position: relative;
}

.addon-picker summary {
    background: var(--primary-soft);
    border: 1px solid #22d3ee55;
    border-radius: 10px;
    color: #a5f3fc;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    list-style: none;
    min-height: 38px;
    padding: 10px 12px;
    text-align: center;
}

.addon-picker summary::-webkit-details-marker {
    display: none;
}

.addon-picker-panel {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 9px;
    margin-top: 8px;
    padding: 10px;
    position: absolute;
    width: min(310px, calc(100vw - 40px));
    z-index: 20;
}

.addon-picker-panel input,
.addon-picker-panel select {
    width: 100%;
}

.addon-picker-panel .confirm-addon {
    min-height: 40px;
    width: 100%;
}

.addon-picker-error {
    color: #fca5a5;
    font-size: 12px;
    font-weight: 800;
    margin: 0;
}

.addon-picker-error[hidden] {
    display: none;
}

.selected-addons-list {
    display: grid;
    gap: 7px;
    margin-top: 4px;
}

.selected-addon-row {
    align-items: center;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 10px;
    display: flex;
    gap: 8px;
    justify-content: space-between;
    padding: 8px 9px;
}

.selected-addon-row span {
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
}

.selected-addon-row button {
    background: transparent;
    border: 0;
    color: var(--danger);
    cursor: pointer;
    font-size: 12px;
    font-weight: 900;
    padding: 0;
}

.selected-product-info {
    display: grid;
    gap: 4px;
}

.selected-product-info span {
    color: var(--success);
    font-weight: 900;
}

.selected-order-item label {
    color: var(--muted);
    display: grid;
    font-size: 12px;
    font-weight: 800;
    gap: 5px;
}

.selected-order-item input {
    border: 1px solid var(--line);
    border-radius: 10px;
    min-height: 40px;
    padding: 9px 10px;
}

.selected-product-pill {
    background: var(--warning-bg);
    border: 1px solid rgba(181, 71, 8, 0.18);
    border-radius: 10px;
    color: var(--warning);
    font-weight: 900;
    padding: 10px 12px;
}

.selected-product-pill.selected {
    background: var(--success-bg);
    border-color: rgba(8, 127, 91, 0.18);
    color: var(--success);
}

.order-item-row select {
    flex: 2;
}

.order-item-row .item-search {
    flex: 1.4;
}

.order-item-row input {
    flex: 1;
}

select[size] {
    min-height: 170px;
}

.inline-form input {
    max-width: 110px;
}

.summary-box {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    display: grid;
    gap: 8px;
    padding: 16px;
}

.finalize-form {
    margin-top: 18px;
}

.finance-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.finance-analysis {
    margin-top: 18px;
}

.finance-analysis .section-title-row {
    align-items: flex-start;
    gap: 16px;
}

.finance-analysis-select {
    display: none;
    min-width: min(260px, 100%);
}

.finance-analysis-tabs {
    background: rgba(15, 28, 47, .8);
    border: 1px solid var(--line);
    border-radius: 18px;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 18px 0;
    padding: 8px;
}

.finance-analysis-tabs button {
    background: transparent;
    border: 0;
    border-radius: 14px;
    color: #dbeafe;
    cursor: pointer;
    font-weight: 900;
    padding: 14px 12px;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.finance-analysis-tabs button:hover,
.finance-analysis-tabs button.active {
    background: linear-gradient(135deg, var(--primary), #38bdf8);
    color: #04111f;
    transform: translateY(-1px);
}

.finance-analysis-panel[hidden] {
    display: none;
}

.finance-pie-layout {
    align-items: center;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
}

.finance-pie-chart {
    align-items: center;
    aspect-ratio: 1;
    background:
        radial-gradient(circle at center, var(--panel) 0 44%, transparent 45%),
        conic-gradient(var(--pie-gradient));
    border: 1px solid var(--line);
    border-radius: 50%;
    box-shadow: 0 20px 45px rgba(0, 0, 0, .25);
    display: flex;
    justify-content: center;
    margin: 0 auto;
    max-width: 320px;
    position: relative;
    width: 100%;
}

.finance-pie-chart::after {
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: inherit;
    content: "";
    inset: 14px;
    pointer-events: none;
    position: absolute;
}

.finance-pie-chart div {
    align-items: center;
    background: rgba(8, 17, 32, .72);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 999px;
    display: flex;
    flex-direction: column;
    height: 42%;
    justify-content: center;
    padding: 16px;
    text-align: center;
    width: 42%;
    z-index: 1;
}

.finance-pie-chart span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.finance-pie-chart strong {
    color: #fff;
    font-size: clamp(18px, 2vw, 26px);
    line-height: 1.1;
}

.finance-pie-list {
    display: grid;
    gap: 10px;
    max-height: 430px;
    overflow: auto;
    padding-right: 4px;
}

.finance-pie-item {
    align-items: center;
    background: rgba(15, 28, 47, .72);
    border: 1px solid var(--line);
    border-radius: 16px;
    color: #e5edf7;
    display: grid;
    gap: 12px;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    padding: 13px 14px;
    text-align: left;
}

.finance-pie-item i {
    border-radius: 999px;
    height: 12px;
    width: 12px;
}

.finance-pie-item span,
.finance-pie-item b {
    display: grid;
    gap: 3px;
}

.finance-pie-item strong {
    color: #f8fafc;
    overflow-wrap: anywhere;
}

.finance-pie-item small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.finance-pie-item b {
    color: #f8fafc;
    font-size: 15px;
    justify-items: end;
    white-space: nowrap;
}

.finance-summary-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.finance-summary-card {
    min-height: 0;
}

.compact-stat-list {
    display: grid;
    gap: 9px;
}

.compact-stat-list p {
    align-items: center;
    background: rgba(15, 28, 47, .48);
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 13px;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 0;
    padding: 10px 12px;
}

.compact-stat-list span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.compact-stat-list strong {
    color: #f8fafc;
    text-align: right;
}

@media (max-width: 820px) {
    .finance-analysis .section-title-row {
        display: grid;
    }

    .finance-analysis-select {
        display: block;
        width: 100%;
    }

    .finance-analysis-tabs {
        display: none;
    }

    .finance-pie-layout {
        grid-template-columns: 1fr;
    }

    .finance-pie-chart {
        max-width: 260px;
    }

    .finance-pie-list {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .finance-pie-item {
        grid-template-columns: 10px minmax(0, 1fr);
    }

    .finance-pie-item b {
        grid-column: 2;
        justify-items: start;
        white-space: normal;
    }
}

.tables-board {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.table-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    display: grid;
    gap: 8px;
    min-height: 140px;
    padding: 20px;
    transition: transform 0.16s ease, border-color 0.16s ease;
}

.table-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.table-card span,
.table-card small,
.detail-grid span {
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.table-card strong {
    font-size: 36px;
}

.detail-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    margin-bottom: 20px;
}

.detail-grid article {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 10px;
    display: grid;
    gap: 6px;
    padding: 14px;
}

.detail-grid strong {
    font-size: 18px;
}

.inline-empty {
    border: 1px dashed var(--line);
    border-radius: var(--radius);
    padding: 18px;
}

@media (max-width: 900px) {
    .sidebar {
        bottom: 0;
        left: 0;
        max-width: 300px;
        overflow-y: auto;
        position: fixed;
        top: 0;
        transform: translateX(-105%);
        transition: transform 0.2s ease;
        width: 82vw;
        z-index: 20;
    }

    .sidebar.open {
        transform: translateX(0);
    }

    .sidebar-menu a {
        overflow-wrap: anywhere;
        padding: 13px 14px;
        white-space: normal;
    }

    .menu-toggle {
        display: inline-flex;
        flex: 0 0 auto;
    }

    .app-shell {
        display: block;
    }

    .main-content,
    .standalone-page {
        padding: 18px;
    }
}

@media (max-width: 760px) {
    .topbar,
    .form-header,
    .header-actions,
    .form-actions,
    .search-bar,
    .section-title-row,
    .order-item-row,
    .inline-form {
        align-items: stretch;
        flex-direction: column;
    }

    .form-grid,
    .cards-grid,
    .finance-grid,
    .registration-form,
    .plan-options {
        grid-template-columns: 1fr;
    }

    .selected-order-item {
        grid-template-columns: 1fr;
    }

    .bulk-stock-head {
        display: none;
    }

    .bulk-menu-head {
        display: none;
    }

    .bulk-stock-row,
    .bulk-menu-row {
        grid-template-columns: 1fr;
        min-width: 0;
    }

    .button-primary,
    .button-secondary,
    .button-danger,
    .form-actions a,
    .form-actions button,
    .header-actions a {
        width: 100%;
    }

    table,
    thead,
    tbody,
    th,
    td,
    tr {
        display: block;
    }

    thead {
        display: none;
    }

    tr {
        border-bottom: 1px solid var(--line);
        padding: 10px 0;
    }

    td {
        border: 0;
        padding: 8px 12px;
    }

    .actions-cell {
        align-items: stretch;
    }

    .actions-cell a,
    .actions-cell button,
    .actions-cell form {
        width: 100%;
    }

    .login-card,
    .form-panel {
        padding: 20px;
    }
}
.login-register-link {
    margin: 20px 0 0;
    text-align: center;
}

.login-register-link a {
    color: var(--primary, #e85d04);
    font-weight: 700;
}

.subscription-price {
    margin: 24px 0;
    font-size: 2rem;
    font-weight: 800;
    text-align: center;
}

.subscription-price small {
    font-size: 1rem;
    font-weight: 500;
}

.account-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
}

.account-summary-grid {
    margin-top: 20px;
}

.account-settings-drawer {
    margin-top: 18px;
}

.account-settings-drawer > summary,
.account-settings-toggle {
    align-items: center;
    background: linear-gradient(135deg, rgba(14, 165, 233, 0.22), rgba(15, 23, 42, 0.92));
    border: 1px solid rgba(56, 189, 248, 0.34);
    border-radius: 999px;
    box-shadow: 0 16px 38px rgba(2, 8, 23, 0.18);
    cursor: pointer;
    display: inline-flex;
    gap: 14px;
    list-style: none;
    min-height: 46px;
    padding: 12px 20px;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
    user-select: none;
}

.account-settings-toggle::before {
    content: "⚙️";
    font-size: 18px;
}

.account-settings-drawer > summary::-webkit-details-marker {
    display: none;
}

.account-settings-drawer > summary::marker {
    content: "";
}

.account-settings-drawer > summary:hover {
    border-color: rgba(59, 130, 246, 0.76);
    box-shadow: 0 20px 48px rgba(14, 165, 233, 0.2);
    transform: translateY(-2px);
}

.account-settings-drawer > summary::after {
    color: #7dd3fc;
    content: "+";
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
}

.account-settings-drawer[open] > summary::after {
    content: "-";
}

.account-settings-drawer > summary span {
    color: #f8fafc;
    font-weight: 900;
}

.account-settings-drawer > summary small {
    color: #9aa9bd;
    font-size: 12px;
}

.account-config-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 18px;
}

.account-config-tabs button {
    background: var(--color-bg-surface-secondary);
    border: 1px solid var(--color-border-default);
    border-radius: 999px;
    color: var(--color-text-secondary);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: 0.01em;
    padding: 12px 18px;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.account-config-tabs button:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
}

.account-config-tabs button.active {
    background: var(--color-primary-soft);
    border-color: var(--color-primary);
    color: var(--color-text-primary);
    box-shadow: 0 14px 36px rgba(59, 130, 246, .18);
}

.account-config-tabs button.active {
    background: var(--color-primary-soft);
    border-color: var(--color-primary);
    color: var(--color-text-primary);
}

.account-config-tabs button[data-account-config-tab="preferencias"]::before,
.account-config-tabs button[data-account-config-tab="cardapio"]::before,
.account-config-tabs button[data-account-config-tab="horarios"]::before,
.account-config-tabs button[data-account-config-tab="dados"]::before {
    display: inline-block;
    margin-right: 8px;
    opacity: 0.95;
}

.account-config-tabs button[data-account-config-tab="preferencias"]::before {
    content: "⚙️";
}

.account-config-tabs button[data-account-config-tab="cardapio"]::before {
    content: "🍔";
}

.account-config-tabs button[data-account-config-tab="horarios"]::before {
    content: "⏰";
}

.account-config-tabs button[data-account-config-tab="dados"]::before {
    content: "🧾";
}

.account-config-tabs button:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.account-settings-content {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
    margin-top: 16px;
}

.account-security-panel {
    min-height: auto;
}

.account-security-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.account-security-actions .subtle-button {
    min-height: 38px;
    padding: 9px 14px;
}

.account-payments {
    margin-top: 20px;
}

.account-details {
    margin: 20px 0;
}

.account-credentials-compact {
    align-items: center;
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid var(--line);
    border-radius: 10px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-top: 12px;
    padding: 10px 12px;
}

.account-credentials-compact span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.compact-password-toggle {
    min-height: 34px;
    padding: 8px 12px;
    white-space: nowrap;
}

.account-credentials-compact + .password-form-panel {
    margin-top: 12px;
}

.status-badge {
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    padding: 8px 12px;
    text-transform: uppercase;
}

.status-active {
    background: #dcfce7;
    color: #166534;
}

.status-pending {
    background: #fef3c7;
    color: #92400e;
}

.status-inactive,
.status-canceled,
.status-deleted,
.status-none {
    background: #fee2e2;
    color: #991b1b;
}

.cancel-subscription-form {
    margin-top: 20px;
}

.account-subscribe-link {
    display: inline-flex;
    margin-top: 20px;
}

.manual-subscription-form {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.manual-subscription-form select {
    border: 1px solid var(--line);
    border-radius: 8px;
    min-height: 38px;
    padding: 8px;
}

img {
    max-width: 100%;
}

.table-scroll,
.table-wrapper {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.main-content {
    min-width: 0;
}

.topbar > div {
    min-width: 0;
}

.topbar h1,
.topbar p,
.detail-grid strong,
td,
th {
    overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
    .cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    body {
        font-size: 14px;
    }

    .login-page {
        padding: 14px;
    }

    .auth-logo-shell {
        height: 150px;
        margin-bottom: 14px;
    }


    .login-card {
        padding: 20px 16px;
    }

    .login-container {
        max-width: 100%;
    }

    .main-content,
    .standalone-page {
        padding: 12px;
    }

    .cards-grid,
    .detail-grid,
    .tables-board,
    .account-grid {
        grid-template-columns: 1fr;
    }

    .metric-card,
    .form-panel,
    .table-panel,
    .empty-panel {
        border-radius: 10px;
        padding: 16px;
    }

    .topbar {
        gap: 12px;
    }

    .topbar h1 {
        font-size: 1.5rem;
    }

    .actions-cell,
    .manual-subscription-form {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-actions-panel,
    .duration-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-actions-panel {
        align-items: stretch;
        display: grid;
    }

    .admin-actions-panel .button-primary,
    .admin-actions-panel .button-secondary,
    .admin-actions-panel .button-danger {
        width: 100%;
    }

    .manual-subscription-form select,
    .manual-subscription-form button {
        width: 100%;
    }

    .product-grid {
        grid-template-columns: 1fr;
    }

    .subscription-price {
        font-size: 1.7rem;
    }

    .registration-card,
    .plan-selection-card {
        padding: 20px 16px;
    }

    .plan-option {
        padding: 18px;
    }
}

/* Tema escuro NITH */
html {
    background: #050914;
    color-scheme: dark;
}

body {
    background:
        radial-gradient(circle at 85% 5%, rgba(37, 99, 235, 0.13), transparent 30%),
        linear-gradient(145deg, #070b14, #0a1120 55%, #07101b);
    color: #f8fafc;
}

.login-page {
    background:
        radial-gradient(circle at 18% 18%, rgba(14, 165, 233, 0.28), transparent 30%),
        radial-gradient(circle at 82% 72%, rgba(22, 199, 154, 0.2), transparent 34%),
        linear-gradient(145deg, #020617, #081426 52%, #030712) !important;
    isolation: isolate;
    min-height: 100svh;
    overflow-x: hidden;
    position: relative;
}

.login-page::before,
.login-page::after {
    border-radius: 42%;
    content: "";
    filter: blur(12px);
    inset: auto;
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.login-page::before {
    animation: nith-wave-one 11s ease-in-out infinite alternate;
    background: radial-gradient(circle, rgba(34, 211, 238, 0.42), rgba(37, 99, 235, 0.12) 48%, transparent 70%);
    height: 70vw;
    left: -18vw;
    top: -35vw;
    width: 70vw;
}

.login-page::after {
    animation: nith-wave-two 14s ease-in-out infinite alternate;
    background: radial-gradient(circle, rgba(22, 199, 154, 0.3), rgba(14, 116, 144, 0.12) 46%, transparent 72%);
    bottom: -38vw;
    height: 76vw;
    right: -22vw;
    width: 76vw;
}

@keyframes nith-wave-one {
    0% { opacity: 0.55; transform: translate3d(-3%, -2%, 0) scale(0.9) rotate(0deg); }
    55% { opacity: 0.95; transform: translate3d(20%, 14%, 0) scale(1.12) rotate(18deg); }
    100% { opacity: 0.62; transform: translate3d(38%, 4%, 0) scale(0.98) rotate(32deg); }
}

@keyframes nith-wave-two {
    0% { opacity: 0.5; transform: translate3d(4%, 4%, 0) scale(0.92); }
    50% { opacity: 0.9; transform: translate3d(-22%, -16%, 0) scale(1.1); }
    100% { opacity: 0.58; transform: translate3d(-38%, -4%, 0) scale(0.96); }
}

.auth-logo-shell {
    animation: nith-logo-float 5s ease-in-out infinite;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    filter: drop-shadow(0 20px 32px rgba(14, 165, 233, 0.22));
    overflow: visible;
    padding: 0;
    position: relative;
}

.login-container {
    position: relative;
    z-index: 1;
}

.auth-logo-shell::after {
    background: radial-gradient(ellipse, rgba(56, 189, 248, 0.18), transparent 68%);
    content: "";
    inset: 12% 7%;
    pointer-events: none;
    position: absolute;
    z-index: -1;
}

.auth-page-logo {
    border-radius: 0;
    filter: brightness(1.08) contrast(1.08) saturate(1.18) drop-shadow(0 0 22px rgba(56, 189, 248, 0.28));
}

@keyframes nith-logo-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-7px) scale(1.012); }
}

.login-card {
    backdrop-filter: blur(22px);
    background: rgba(10, 17, 29, 0.84);
    border-color: rgba(125, 211, 252, 0.18);
    box-shadow: 0 28px 85px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    color: var(--text);
}

.login-card .brand p,
.login-card .login-form label,
.login-card .login-register-link {
    color: var(--muted);
}

.login-card .login-form input,
.login-card .login-form select {
    background: rgba(15, 24, 39, 0.94);
    border-color: var(--line);
    color: var(--text);
}

.login-card .login-form input::placeholder {
    color: #718096;
}

.metric-card,
.empty-panel,
.table-panel,
.form-panel,
.search-bar,
.items-builder,
.summary-box,
.detail-grid article,
.table-card,
.inline-empty,
.bulk-stock-row,
.bulk-menu-row,
.product-picker,
.product-card,
.order-summary-list,
.selected-order-item {
    background: linear-gradient(145deg, rgba(20, 30, 48, 0.97), rgba(13, 21, 35, 0.97));
    border-color: var(--line);
}

.metric-card,
.form-panel,
.table-panel,
.empty-panel {
    box-shadow: var(--shadow);
}

.sidebar {
    border-right: 1px solid #182337;
    box-shadow: 12px 0 40px rgba(0, 0, 0, 0.16);
}

.sidebar-menu a {
    color: #9fb0c5;
}

.sidebar-menu a:hover,
.sidebar-menu a.active {
    background: linear-gradient(90deg, rgba(22, 199, 154, 0.18), rgba(59, 130, 246, 0.1));
    box-shadow: inset 3px 0 0 var(--primary);
}

.brand-logo,
.menu-toggle,
.confirm-box {
    background: var(--panel);
}

.menu-toggle span {
    background: var(--text);
}

input,
select,
textarea,
.form-grid input,
.form-grid select,
.form-grid textarea,
.order-item-row select,
.order-item-row input,
.item-search,
.inline-form input,
.search-bar input,
.bulk-stock-row input,
.bulk-stock-row select,
.bulk-menu-row input,
.product-search,
.quick-pay-form select {
    background: #0c1422;
    border-color: var(--line);
    color: var(--text);
    color-scheme: dark;
}

input::placeholder,
textarea::placeholder {
    color: #6f8097;
}

th {
    background: #111b2c;
}

td,
th {
    border-color: var(--line);
}

.clickable-row:hover,
.product-card:hover,
.product-card.selected {
    background: #152c2d;
}

.low-stock-row,
.pending-payment-row {
    background: rgba(120, 72, 18, 0.18);
}

.button-primary,
.login-form button,
.form-actions button,
.plan-option button,
.account-subscribe-link,
.manual-subscription-card > .button-primary {
    background: linear-gradient(135deg, #16c79a, #0ea5e9);
    border: 1px solid rgba(125, 211, 252, 0.24);
    box-shadow: 0 10px 28px rgba(14, 165, 233, 0.2);
    color: #03120e;
    font-weight: 900;
    transition: box-shadow 0.18s ease, transform 0.18s ease, filter 0.18s ease;
}

.button-primary:hover,
.login-form button:hover,
.form-actions button:hover,
.plan-option button:hover,
.account-subscribe-link:hover,
.manual-subscription-card > .button-primary:hover {
    background: linear-gradient(135deg, #2dd4aa, #38bdf8);
    box-shadow: 0 14px 34px rgba(14, 165, 233, 0.3);
    filter: brightness(1.06);
    transform: translateY(-2px);
}

.button-secondary,
.inline-form button,
.inline-admin-form button,
.actions-cell a,
.form-header a,
.form-actions a,
.search-bar a,
.password-toggle {
    background: #172338;
    border-color: #30435f;
    color: #bfdbfe;
}

.actions-cell a:nth-of-type(2) {
    background: #352417;
    border-color: #704323;
    color: #fdba74;
}

.actions-cell a:nth-of-type(2):hover {
    background: #9a4d12;
    border-color: #c2631b;
}

.button-secondary:hover,
.inline-admin-form button:hover,
.actions-cell a:nth-of-type(1):hover,
.form-header a:hover,
.form-actions a:hover {
    background: #223758;
    border-color: #4e70a4;
    color: #ffffff;
}

.plan-option {
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.14), transparent 40%),
        linear-gradient(160deg, #151f32, #0c1422);
    border-color: #2b3c56;
}

.plan-option:hover {
    border-color: #38bdf8;
    box-shadow: 0 24px 65px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(56, 189, 248, 0.12);
}

.plan-option p,
.plan-option ul,
.plan-price small {
    color: var(--muted);
}

.plan-price {
    color: #67e8f9;
}

.plan-option button {
    border-radius: 13px;
    font-size: 15px;
    min-height: 52px;
    width: 100%;
}

.plan-option .plan-subscribe-button {
    background: linear-gradient(135deg, #12d6a0 0%, #0ea5e9 55%, #2563eb 100%) !important;
    border: 1px solid rgba(125, 211, 252, 0.4) !important;
    border-radius: 14px !important;
    box-shadow: 0 13px 32px rgba(14, 165, 233, 0.28) !important;
    color: #02120f !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    letter-spacing: 0.01em;
    min-height: 54px !important;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.18);
}

.plan-option .plan-subscribe-button:hover {
    background: linear-gradient(135deg, #5eead4 0%, #38bdf8 58%, #3b82f6 100%) !important;
    box-shadow: 0 17px 38px rgba(14, 165, 233, 0.38) !important;
    transform: translateY(-2px);
}

.payment-method-container {
    max-width: 620px;
}

.payment-method-card h1 {
    margin: 0 0 8px;
}

.payment-method-card > p {
    color: var(--muted);
    line-height: 1.55;
    margin: 0 0 22px;
}

.payment-method-options {
    display: grid;
    gap: 13px;
}

.payment-method-options form {
    margin: 0;
}

.payment-method-options button {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.16), transparent 46%),
        linear-gradient(145deg, #17263b, #0c1727);
    border: 1px solid #33506d;
    border-radius: 15px;
    color: var(--text);
    cursor: pointer;
    display: grid;
    gap: 5px;
    min-height: 82px;
    padding: 17px 19px;
    text-align: left;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    width: 100%;
}

.payment-method-options button:hover {
    border-color: #38bdf8;
    box-shadow: 0 14px 32px rgba(14, 165, 233, 0.2);
    transform: translateY(-2px);
}

.payment-method-options strong {
    color: #67e8f9;
    font-size: 18px;
}

.payment-method-options span {
    color: var(--muted);
    font-size: 13px;
}

.payment-method-back {
    color: #5eead4;
    display: block;
    font-weight: 800;
    margin-top: 20px;
    text-align: center;
}

.onboarding-overlay {
    align-items: center;
    background: rgba(2, 6, 23, 0.78);
    backdrop-filter: blur(8px);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 200;
}

.onboarding-card {
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, 0.2), transparent 38%),
        linear-gradient(150deg, #17243a, #0b1321);
    border: 1px solid #385272;
    border-radius: 22px;
    box-shadow: 0 32px 90px rgba(0, 0, 0, 0.56);
    color: #f8fafc;
    max-width: 540px;
    padding: 30px;
    width: 100%;
}

/* NITH public navigation and CTA repair - 20260726 */
.download-landing.nith-home .nith-home-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin-bottom: clamp(18px, 2.6vw, 34px) !important;
    position: sticky !important;
    top: 10px !important;
    z-index: 140 !important;
}

.download-landing.nith-home .nith-home-nav > .nith-home-actions:not(.nith-home-actions-mobile) {
    position: static !important;
    right: auto !important;
    top: auto !important;
}

.download-landing.nith-home .nith-home-tabs,
body.nith-company-page .nith-company-nav nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.nith-company-page .nith-company-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 12px 22px !important;
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-rows: auto auto !important;
    margin: 12px auto 26px !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
    padding: 0 !important;
    position: sticky !important;
    top: 10px !important;
    width: 100% !important;
    z-index: 140 !important;
}

body.nith-company-page .nith-company-logo {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    pointer-events: none !important;
}

body.nith-company-page .nith-company-logo img {
    height: auto !important;
    max-height: 92px !important;
    width: min(260px, 64vw) !important;
}

body.nith-company-page .nith-company-nav nav {
    align-items: center !important;
    align-self: center !important;
    background: rgba(2, 12, 28, .62) !important;
    border: 1px solid rgba(68, 192, 255, .18) !important;
    border-radius: 999px !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .22) !important;
    display: flex !important;
    gap: 6px !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    padding: 6px !important;
    position: static !important;
}

body.nith-company-page .nith-company-nav nav a {
    border-radius: 999px !important;
    color: #f8fafc !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    padding: 10px 14px !important;
    text-decoration: none !important;
}

body.nith-company-page .nith-company-nav nav a:hover,
body.nith-company-page .nith-company-nav nav a[href="/erp"] {
    background: rgba(14, 165, 233, .18) !important;
    color: #fff !important;
}

body.nith-company-page .nith-company-quote-action {
    align-self: center !important;
    border-radius: 12px !important;
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    min-height: 46px !important;
    padding: 0 26px !important;
}

body.nith-company-page .nith-company-hero-showcase {
    background:
        radial-gradient(circle at 78% 24%, rgba(14, 165, 233, .22), transparent 36%),
        rgba(8, 22, 42, .38) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: clamp(18px, 3vw, 34px) !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
    min-height: clamp(520px, 62vh, 680px) !important;
}

body.nith-company-page .nith-company-services,
body.nith-company-page .nith-company-site-types,
body.nith-company-page .nith-company-process,
body.nith-company-page .nith-company-agency,
body.nith-company-page .nith-company-faq,
body.nith-company-page .nith-company-contact {
    scroll-margin-top: 150px !important;
}

.download-landing.nith-home .nith-plan-box a:hover,
.download-landing.nith-home .nith-plan-box a:focus-visible {
    box-shadow: 0 24px 46px rgba(37, 99, 235, .38), 0 0 30px rgba(34, 211, 238, .28) !important;
    filter: saturate(1.12) brightness(1.08) !important;
    transform: translateY(-6px) scale(1.025) !important;
}

@media (max-width: 900px) {
    .download-landing.nith-home .nith-home-nav {
        top: 8px !important;
    }

    body.nith-company-page .nith-company-nav {
        grid-template-columns: 1fr auto !important;
        grid-template-rows: auto auto !important;
        max-width: calc(100vw - 20px) !important;
        top: 8px !important;
    }

    body.nith-company-page .nith-company-logo {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
    }

    body.nith-company-page .nith-company-logo img {
        max-height: 70px !important;
        width: min(210px, 58vw) !important;
    }

    body.nith-company-page .nith-company-menu-toggle {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
    }

    body.nith-company-page .nith-company-nav nav {
        border-radius: 18px !important;
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: end !important;
        right: 0 !important;
        top: calc(100% + 10px) !important;
    }

    body.nith-company-page .nith-company-quote-action {
        display: inline-flex !important;
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        min-height: 42px !important;
        padding: 0 20px !important;
    }

    body.nith-company-page .nith-company-hero-showcase {
        max-width: calc(100vw - 24px) !important;
        min-height: 0 !important;
    }
}

/* NITH public page final polish - 20260723 */
body.nith-company-page .notification-bell-shell,
body.nith-company-page .notification-modal {
    display: none !important;
}

body.nith-company-page {
    background:
        radial-gradient(circle at 50% 0, rgba(14, 45, 88, .34), transparent 42%),
        linear-gradient(180deg, #020617 0%, #061224 52%, #020617 100%) !important;
    overflow-x: hidden !important;
}

body.nith-company-page::before {
    background: linear-gradient(180deg, rgba(2, 6, 23, .92), rgba(3, 12, 26, .82)) !important;
    opacity: .42 !important;
}

.download-landing.nith-home .nith-home-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: sticky !important;
    top: 10px !important;
    z-index: 140 !important;
}

.download-landing.nith-home .nith-home-tabs {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.download-landing.nith-home .nith-home-nav > .nith-home-actions:not(.nith-home-actions-mobile) {
    position: static !important;
    right: auto !important;
    top: auto !important;
}

.download-landing.nith-home .nith-plan-box a:hover,
.download-landing.nith-home .nith-plan-box a:focus-visible {
    box-shadow: 0 24px 46px rgba(37, 99, 235, .38), 0 0 30px rgba(34, 211, 238, .28) !important;
    filter: saturate(1.12) brightness(1.08) !important;
    transform: translateY(-6px) scale(1.025) !important;
}

body.nith-company-page .nith-company-shell {
    width: min(100% - 40px, 1220px) !important;
    max-width: 1220px !important;
    margin-inline: auto !important;
}

body.nith-company-page .nith-company-nav {
    width: min(100%, 1120px) !important;
    margin-inline: auto !important;
}

body.nith-company-page .nith-company-hero-showcase {
    width: min(100%, 1120px) !important;
    max-width: 1120px !important;
    margin-inline: auto !important;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr) !important;
}

body.nith-company-page .nith-company-hero-cards {
    width: 100% !important;
    grid-column: 1 / -1 !important;
}

body.nith-company-page .nith-company-faq summary {
    position: relative !important;
    padding-right: 72px !important;
}

body.nith-company-page .nith-company-faq summary::before {
    content: none !important;
    display: none !important;
}

body.nith-company-page .nith-company-faq summary::after {
    right: 24px !important;
    left: auto !important;
    position: absolute !important;
}

body.nith-company-page .nith-company-faq details[open] summary::after {
    content: "-" !important;
}

body.nith-company-page .nith-company-faq p {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    transform: translateY(-5px) !important;
}

body.nith-company-page .nith-company-faq details[open] p {
    max-height: 260px !important;
    opacity: 1 !important;
    transform: none !important;
}

body.nith-company-page .nith-company-platform-card {
    min-height: 390px !important;
    overflow: hidden !important;
}

body.nith-company-page .nith-company-platform-card picture {
    width: min(78%, 520px) !important;
    max-width: 520px !important;
    max-height: 160px !important;
    transform: translateY(-36px) !important;
}

body.nith-company-page .nith-company-platform-card img {
    width: 100% !important;
    height: 160px !important;
    max-height: 160px !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: .48 !important;
}

body.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
    bottom: 32px !important;
    left: 32px !important;
    right: 32px !important;
    max-width: 360px !important;
}

body.nith-company-page .nith-company-avatar {
    --robot-x: 0px;
    --robot-y: 0px;
    animation: nithRobotFloatSoft 4.4s ease-in-out infinite !important;
    transform: translate3d(var(--robot-x), var(--robot-y), 0) !important;
}

body.nith-company-page .nith-company-avatar::before {
    animation: nithRobotRingSpin 12s linear infinite !important;
    border: 2px dashed rgba(37, 212, 206, .34) !important;
    border-radius: 50% !important;
    content: "" !important;
    height: min(92%, 460px) !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) rotate(0deg) !important;
    width: min(92%, 460px) !important;
    z-index: 0 !important;
}

body.nith-company-page .nith-company-avatar::after {
    animation: nithRobotGlowSoft 3.2s ease-in-out infinite !important;
    background: radial-gradient(circle, rgba(34, 211, 238, .22), transparent 64%) !important;
    border-radius: 50% !important;
    content: "" !important;
    height: min(100%, 520px) !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(100%, 520px) !important;
    z-index: 0 !important;
}

body.nith-company-page .nith-company-robot-image {
    animation: nithRobotImageFloat 4.4s ease-in-out infinite !important;
    position: relative !important;
    z-index: 2 !important;
}

body.nith-company-page .nith-company-avatar:hover .nith-company-robot-image {
    transform: translateY(-10px) scale(1.025) rotate(-1deg) !important;
}

@keyframes nithRobotFloatSoft {
    0%, 100% { margin-top: 0; }
    50% { margin-top: -10px; }
}

@keyframes nithRobotImageFloat {
    0%, 100% { filter: drop-shadow(0 24px 34px rgba(0, 0, 0, .32)) drop-shadow(0 0 20px rgba(34, 211, 238, .18)); }
    50% { filter: drop-shadow(0 34px 44px rgba(0, 0, 0, .36)) drop-shadow(0 0 34px rgba(34, 211, 238, .28)); }
}

@keyframes nithRobotRingSpin {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes nithRobotGlowSoft {
    0%, 100% { opacity: .45; scale: .98; }
    50% { opacity: .75; scale: 1.03; }
}

@media (max-width: 900px) {
    body.nith-company-page .nith-company-shell {
        width: min(100% - 18px, 430px) !important;
        max-width: 430px !important;
    }

    body.nith-company-page .nith-company-nav {
        grid-template-columns: 1fr auto !important;
        overflow: visible !important;
        position: relative !important;
        top: 8px !important;
        z-index: 90 !important;
    }

    body.nith-company-page .nith-company-logo {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
    }

    body.nith-company-page .nith-company-logo img {
        max-height: 70px !important;
        width: min(210px, 58vw) !important;
    }

    body.nith-company-page .nith-company-menu-toggle {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
    }

    body.nith-company-page .nith-company-nav nav {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: end !important;
        opacity: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        right: 0 !important;
        top: calc(100% + 10px) !important;
        transform: translateY(-8px) scale(.98) !important;
        visibility: hidden !important;
        width: min(180px, calc(100vw - 36px)) !important;
        z-index: 120 !important;
    }

    body.nith-company-page .nith-company-quote-action {
        display: inline-flex !important;
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        min-height: 42px !important;
        padding: 0 20px !important;
    }

    body.nith-company-page.nith-company-menu-open .nith-company-nav nav {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        visibility: visible !important;
    }

    body.nith-company-page:not(.nith-company-menu-open) .nith-company-nav nav {
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    body.nith-company-page .nith-company-menu-backdrop {
        display: none !important;
    }

    body.nith-company-page .nith-company-hero-showcase {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        padding: 28px 16px 18px !important;
        text-align: center !important;
    }

    body.nith-company-page .nith-company-hero-showcase h1 {
        font-size: clamp(2.35rem, 11vw, 3.15rem) !important;
    }

    body.nith-company-page .nith-company-hero-cards article {
        grid-template-columns: 52px 1fr auto !important;
        text-align: left !important;
    }

    body.nith-company-page .nith-company-platform-card {
        min-height: 310px !important;
    }

    body.nith-company-page .nith-company-platform-card picture {
        width: 88% !important;
        transform: translateY(-44px) !important;
    }

    body.nith-company-page .nith-company-platform-card img {
        height: 110px !important;
        max-height: 110px !important;
    }

    body.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
        bottom: 22px !important;
        left: 18px !important;
        right: 18px !important;
        max-width: none !important;
    }

    body.nith-company-page .nith-company-avatar {
        min-height: 330px !important;
    }

body.nith-company-page .nith-company-avatar::before {
        height: 300px !important;
        width: 300px !important;
    }
}

/* Final override: cardapio online organizado com imagem, texto e acao. */
.public-products .public-product-card {
    align-items: center !important;
    border-radius: 16px !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 92px minmax(0, 1fr) auto !important;
    min-height: 118px;
    padding: 16px !important;
}

.public-products .public-product-media {
    height: 80px !important;
    width: 80px !important;
}

.public-products .public-product-card > div:not(.public-product-media) {
    align-self: center;
    display: grid !important;
    gap: 4px !important;
    min-width: 0;
    text-align: left !important;
}

.public-products .public-product-card small {
    color: #22d3ee !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}

.public-products .public-product-card h2 {
    color: #f8fafc !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    overflow-wrap: anywhere;
}

.public-products .public-product-card p {
    color: #a9bdd3 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.public-products .public-product-card strong {
    color: #22f4c7 !important;
    font-size: 16px !important;
    margin: 0 !important;
}

.public-products .public-add-cart {
    font-size: 14px !important;
    min-width: 104px !important;
}

.public-products .public-add-cart::before {
    content: "" !important;
    display: none !important;
}

@media (max-width: 640px) {
    .public-products .public-product-card {
        grid-template-columns: 72px minmax(0, 1fr) 44px !important;
        min-height: 104px;
        padding: 12px !important;
    }

    .public-products .public-product-media {
        height: 58px !important;
        width: 58px !important;
    }

    .public-products .public-add-cart {
        border-radius: 999px !important;
        font-size: 0 !important;
        height: 44px;
        min-width: 44px !important;
        padding: 0 !important;
        width: 44px;
    }

    .public-products .public-add-cart::before {
        color: #02111f;
        content: "+" !important;
        display: block !important;
        font-size: 24px !important;
        line-height: 1;
    }
}

.public-products .public-product-card {
    align-items: center !important;
    border-radius: 16px !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 92px minmax(0, 1fr) auto !important;
    min-height: 118px;
    padding: 16px !important;
}

.public-products .public-product-media {
    height: 80px !important;
    width: 80px !important;
}

.public-products .public-product-card > div:not(.public-product-media) {
    align-self: center;
    display: grid;
    gap: 4px;
    min-width: 0;
}

.public-products .public-product-card small {
    color: #22d3ee !important;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.1;
}

.public-products .public-product-card h2 {
    color: #f8fafc !important;
    font-size: 18px !important;
    line-height: 1.15;
    margin: 0 !important;
    overflow-wrap: anywhere;
}

.public-products .public-product-card p {
    color: #a9bdd3 !important;
    font-size: 13px;
    line-height: 1.35;
    margin: 0 !important;
}

.public-products .public-product-card strong {
    color: #22f4c7 !important;
    font-size: 16px !important;
}

.public-products .public-add-cart {
    font-size: 14px !important;
    min-width: 104px !important;
}

.public-products .public-add-cart::before {
    content: "" !important;
    display: none !important;
}

@media (max-width: 640px) {
    .public-products .public-product-card {
        grid-template-columns: 72px minmax(0, 1fr) 44px !important;
        min-height: 104px;
        padding: 12px !important;
    }

    .public-products .public-product-media {
        height: 58px !important;
        width: 58px !important;
    }

    .public-products .public-add-cart {
        border-radius: 999px !important;
        font-size: 0 !important;
        height: 44px;
        min-width: 44px !important;
        padding: 0 !important;
        width: 44px;
    }

    .public-products .public-add-cart::before {
        color: #02111f;
        content: "+" !important;
        display: block !important;
        font-size: 24px !important;
        line-height: 1;
    }
}

.public-product-card {
    align-items: center;
    grid-template-columns: 92px minmax(0, 1fr) auto;
}

@media (max-width: 640px) {
    .public-product-card {
        grid-template-columns: 72px minmax(0, 1fr) auto;
    }
}

.button-warning,
.form-actions .button-warning {
    align-items: center;
    background: linear-gradient(135deg, #f59e0b, #f97316) !important;
    border: 1px solid rgba(253, 186, 116, .58) !important;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(249, 115, 22, .22) !important;
    color: #111827 !important;
    cursor: pointer;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-height: 42px;
    padding: 11px 16px;
}

.button-warning:hover,
.form-actions .button-warning:hover {
    background: linear-gradient(135deg, #fbbf24, #fb923c) !important;
    color: #111827 !important;
    transform: translateY(-1px);
}

.button-neutral,
.form-actions a.button-neutral {
    align-items: center;
    background: linear-gradient(135deg, #172554, #123456) !important;
    border: 1px solid rgba(56, 189, 248, .32) !important;
    border-radius: 10px;
    box-shadow: 0 8px 20px rgba(2, 8, 23, .2) !important;
    color: #e0f2fe !important;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-height: 42px;
    padding: 11px 16px;
}

.button-neutral:hover,
.form-actions a.button-neutral:hover {
    background: linear-gradient(135deg, #1e3a8a, #075985) !important;
    border-color: rgba(103, 232, 249, .58) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.online-source-note {
    background: linear-gradient(145deg, #0b1628, #111d31);
    border: 1px solid rgba(56, 189, 248, .22);
    border-radius: 14px;
    display: grid;
    gap: 6px;
    padding: 14px 16px;
}

.online-source-note strong {
    color: #f8fafc;
    font-size: 18px;
}

.online-source-note span {
    color: #a9bdd3;
    font-size: 13px;
}

.button-open-menu {
    align-items: center;
    background: linear-gradient(135deg, #10b981, #0ea5e9) !important;
    border: 1px solid rgba(103, 232, 249, .48) !important;
    border-radius: 10px;
    box-shadow: 0 10px 28px rgba(14, 165, 233, .22);
    color: #04111f !important;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-height: 42px;
    padding: 11px 16px;
}

.button-open-menu:hover {
    background: linear-gradient(135deg, #34d399, #38bdf8) !important;
    color: #04111f !important;
    transform: translateY(-1px);
}

.no-photo-icon {
    border: 3px solid #718096;
    border-radius: 10px;
    display: inline-block;
    height: 34px;
    position: relative;
    width: 44px;
}

.no-photo-icon::before {
    border: 3px solid #718096;
    border-radius: 999px;
    content: "";
    height: 14px;
    left: 12px;
    position: absolute;
    top: 7px;
    width: 14px;
}

.no-photo-icon::after {
    background: #718096;
    content: "";
    height: 3px;
    left: -7px;
    position: absolute;
    top: 14px;
    transform: rotate(-45deg);
    width: 56px;
}

.image-avatar-preview:has(.no-photo-icon),
.image-product-preview:has(.no-photo-icon),
.public-product-media:has(.no-photo-icon),
.menu-item-thumb:has(.no-photo-icon) {
    background: linear-gradient(145deg, #e5e7eb, #f8fafc);
    color: #4b5563;
}

/* NITH public navigation and CTA repair - active 20260726 */
.download-landing.nith-home .nith-home-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin-bottom: clamp(18px, 2.6vw, 34px) !important;
    position: sticky !important;
    top: 10px !important;
    z-index: 140 !important;
}

.download-landing.nith-home .nith-home-nav > .nith-home-actions:not(.nith-home-actions-mobile) {
    position: static !important;
    right: auto !important;
    top: auto !important;
}

.download-landing.nith-home .nith-home-tabs,
body.nith-company-page .nith-company-nav nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

body.nith-company-page .nith-company-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 12px 22px !important;
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-rows: auto auto !important;
    margin: 12px auto 26px !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
    padding: 0 !important;
    position: sticky !important;
    top: 10px !important;
    width: 100% !important;
    z-index: 140 !important;
}

body.nith-company-page .nith-company-logo {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    pointer-events: none !important;
}

body.nith-company-page .nith-company-logo img {
    height: auto !important;
    max-height: 92px !important;
    width: min(260px, 64vw) !important;
}

body.nith-company-page .nith-company-nav nav {
    align-items: center !important;
    align-self: center !important;
    background: rgba(2, 12, 28, .62) !important;
    border: 1px solid rgba(68, 192, 255, .18) !important;
    border-radius: 999px !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .22) !important;
    display: flex !important;
    gap: 6px !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: center !important;
    padding: 6px !important;
    position: static !important;
}

body.nith-company-page .nith-company-nav nav a {
    border-radius: 999px !important;
    color: #f8fafc !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    padding: 10px 14px !important;
    text-decoration: none !important;
}

body.nith-company-page .nith-company-nav nav a:hover,
body.nith-company-page .nith-company-nav nav a[href="/erp"] {
    background: rgba(14, 165, 233, .18) !important;
    color: #fff !important;
}

body.nith-company-page .nith-company-quote-action {
    align-self: center !important;
    border-radius: 12px !important;
    grid-column: 3 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    min-height: 46px !important;
    padding: 0 26px !important;
}

body.nith-company-page .nith-company-hero-showcase {
    background:
        radial-gradient(circle at 78% 24%, rgba(14, 165, 233, .22), transparent 36%),
        rgba(8, 22, 42, .38) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: clamp(18px, 3vw, 34px) !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
    min-height: clamp(520px, 62vh, 680px) !important;
}

body.nith-company-page .nith-company-services,
body.nith-company-page .nith-company-site-types,
body.nith-company-page .nith-company-process,
body.nith-company-page .nith-company-agency,
body.nith-company-page .nith-company-faq,
body.nith-company-page .nith-company-contact {
    scroll-margin-top: 150px !important;
}

.download-landing.nith-home .nith-plan-box a:hover,
.download-landing.nith-home .nith-plan-box a:focus-visible {
    box-shadow: 0 24px 46px rgba(37, 99, 235, .38), 0 0 30px rgba(34, 211, 238, .28) !important;
    filter: saturate(1.12) brightness(1.08) !important;
    transform: translateY(-6px) scale(1.025) !important;
}

@media (max-width: 900px) {
    .download-landing.nith-home .nith-home-nav {
        top: 8px !important;
    }

    body.nith-company-page .nith-company-nav {
        grid-template-columns: 1fr auto !important;
        grid-template-rows: auto auto !important;
        max-width: calc(100vw - 20px) !important;
        top: 8px !important;
    }

    body.nith-company-page .nith-company-logo {
        grid-column: 1 / -1 !important;
        justify-self: center !important;
    }

    body.nith-company-page .nith-company-logo img {
        max-height: 70px !important;
        width: min(210px, 58vw) !important;
    }

    body.nith-company-page .nith-company-menu-toggle {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
    }

    body.nith-company-page .nith-company-nav nav {
        border-radius: 18px !important;
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: end !important;
        right: 0 !important;
        top: calc(100% + 10px) !important;
    }

    body.nith-company-page .nith-company-quote-action {
        display: inline-flex !important;
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        min-height: 42px !important;
        padding: 0 20px !important;
    }

    body.nith-company-page .nith-company-hero-showcase {
        max-width: calc(100vw - 24px) !important;
        min-height: 0 !important;
    }
}

/* NITH Digital landing adjustments - active */
body.nith-company-page .nith-company-platform-visual {
    align-content: center !important;
    display: grid !important;
    gap: 18px !important;
    justify-items: center !important;
    min-width: 0 !important;
}

body.nith-company-page .nith-company-platform-link {
    align-items: center !important;
    background: linear-gradient(135deg, #21d5c4 0%, #178df3 100%) !important;
    border: 1px solid rgba(86, 221, 255, .48) !important;
    border-radius: 16px !important;
    box-shadow: 0 18px 42px rgba(16, 148, 255, .2) !important;
    color: #03101c !important;
    display: inline-flex !important;
    font-weight: 900 !important;
    justify-content: center !important;
    letter-spacing: .04em !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

body.nith-company-page .nith-company-platform-link:hover {
    box-shadow: 0 22px 52px rgba(16, 148, 255, .28) !important;
    filter: saturate(1.08) brightness(1.04) !important;
    transform: translateY(-2px) !important;
}

body.nith-company-page .nith-device-left small {
    color: #26d6ff !important;
    letter-spacing: .16em !important;
}

body.nith-company-page .nith-device-content h2 {
    max-width: 360px !important;
}

body.nith-company-page .nith-device-dashboard div {
    min-width: 0 !important;
}

@media (max-width: 900px) {
    body.nith-company-page .nith-company-platform-visual {
        width: 100% !important;
    }

    body.nith-company-page .nith-company-platform-link {
        width: min(100%, 280px) !important;
    }
}

.onboarding-logo {
    display: block;
    background: transparent;
    border-radius: 999px;
    clip-path: circle(48% at center);
    filter: drop-shadow(0 10px 24px rgba(14, 165, 233, 0.34));
    height: 64px;
    margin: 0 auto 14px;
    object-fit: contain;
    width: 64px;
}

.onboarding-kicker {
    color: #5eead4;
    display: block;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.onboarding-card h2 {
    color: #f8fafc;
    font-size: 27px;
    margin: 0 0 12px;
}

.onboarding-card p {
    color: #edf6ff;
    line-height: 1.65;
    margin: 0;
    min-height: 54px;
}

.onboarding-visual {
    align-items: center;
    background: rgba(8, 17, 31, 0.76);
    border: 1px solid rgba(56, 189, 248, 0.28);
    border-radius: 18px;
    display: grid;
    gap: 14px;
    grid-template-columns: auto 1fr;
    margin: 18px 0 2px;
    padding: 14px;
    text-align: left;
}

.onboarding-visual-number {
    align-items: center;
    background: linear-gradient(135deg, #16c79a, #0ea5e9);
    border-radius: 16px;
    box-shadow: 0 12px 28px rgba(14, 165, 233, 0.26);
    color: #02111f;
    display: inline-flex;
    font-size: 18px;
    font-weight: 950;
    height: 54px;
    justify-content: center;
    letter-spacing: -0.03em;
    width: 54px;
}

.onboarding-visual span:not(.onboarding-visual-number) {
    color: #67e8f9;
    display: block;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.onboarding-visual strong {
    color: #ffffff;
    display: block;
    font-size: 18px;
    margin-top: 3px;
}

.onboarding-visual small {
    color: #dbeafe;
    display: block;
    line-height: 1.45;
    margin-top: 4px;
}

.onboarding-progress {
    display: flex;
    gap: 7px;
    margin: 26px 0;
}

.onboarding-progress span {
    background: #2b3a50;
    border-radius: 999px;
    height: 7px;
    transition: background 0.18s ease, flex 0.18s ease;
    width: 24px;
}

.onboarding-progress span.active {
    background: linear-gradient(90deg, #16c79a, #38bdf8);
    flex: 1;
}

.onboarding-actions,
.onboarding-actions > div {
    align-items: center;
    display: flex;
    gap: 10px;
}

.onboarding-actions {
    justify-content: space-between;
}

.onboarding-actions button {
    border: 1px solid transparent;
    border-radius: 11px;
    cursor: pointer;
    font-weight: 850;
    min-height: 44px;
    padding: 10px 16px;
}

.onboarding-skip {
    background: transparent;
    color: #9aa9bd;
}

.onboarding-back {
    background: #172338;
    border-color: #30435f !important;
    color: #bfdbfe;
}

.onboarding-back:disabled {
    cursor: default;
    opacity: 0.38;
}

.onboarding-next {
    background: linear-gradient(135deg, #16c79a, #0ea5e9);
    box-shadow: 0 9px 24px rgba(14, 165, 233, 0.24);
    color: #03120e;
}

.manual-subscription-card {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.16), transparent 42%),
        linear-gradient(145deg, #152438, #0c1625);
    border-color: #29445d;
    padding: 22px;
}

.business-model-selector {
    border: 0;
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
}

.business-model-selector legend {
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 9px;
    text-transform: uppercase;
}

.business-model-selector label {
    cursor: pointer;
    display: block;
}

.business-model-selector input {
    clip: rect(0 0 0 0);
    height: 1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.business-model-card {
    align-items: center;
    background: #0d1726;
    border: 1px solid #2a3b53;
    border-radius: 15px;
    display: grid;
    gap: 13px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 14px;
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.business-model-card > span:nth-child(2) {
    display: grid;
    gap: 4px;
}

.business-model-card strong {
    color: var(--text);
    font-size: 15px;
}

.business-model-card small {
    color: var(--muted);
    font-size: 12px;
}

.business-model-card > b {
    color: #67e8f9;
    font-size: 17px;
    text-align: right;
}

.business-model-card > b small {
    display: block;
    font-weight: 600;
}

.business-model-icon {
    background: linear-gradient(135deg, #16c79a, #0ea5e9);
    border-radius: 12px;
    color: #03120e;
    display: grid;
    font-size: 17px;
    font-weight: 950;
    height: 43px;
    place-items: center;
    width: 43px;
}

.business-model-selector input:checked + .business-model-card {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(22, 199, 154, 0.14), 0 14px 30px rgba(0, 0, 0, 0.2);
    transform: translateY(-1px);
}

.duration-selector span {
    background: #0d1726;
    border-color: #2a3b53;
}

.duration-selector input:checked + span {
    background: linear-gradient(135deg, rgba(22, 199, 154, 0.2), rgba(14, 165, 233, 0.16));
    border-color: var(--primary);
    color: #99f6e4;
}

.password-form-panel {
    border-top: 1px solid var(--line);
    margin-top: 18px;
    padding-top: 20px;
}

.status-active,
.status-normal {
    background: #12362f;
    color: #6ee7b7;
}

.status-pending,
.status-low {
    background: #3a2b16;
    color: #fbbf6a;
}

.status-inactive,
.status-canceled,
.status-deleted,
.status-none {
    background: #3b1820;
    color: #fda4af;
}

.main-content,
.standalone-page {
    background: transparent;
}

.topbar h1,
.form-header h1,
.section-title-row h2,
.empty-state h2,
.movement-history h2,
.finance-highlight h2,
.brand h1,
.sidebar-brand strong,
.metric-card strong,
.detail-grid strong,
.table-card strong {
    color: #f8fafc;
}

.topbar p,
.form-header p,
.brand p,
.section-title-row p,
.muted-text {
    color: #9aa9bd;
}

.table-panel,
.form-panel,
.metric-card,
.empty-panel {
    color: #e5edf7;
}

table {
    color: #e5edf7;
}

@media (max-width: 600px) {
    .login-page::before,
    .login-page::after {
        height: 125vw;
        width: 125vw;
    }

    .business-model-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .business-model-card > b {
        grid-column: 2;
        text-align: left;
    }

    .login-page {
        padding: 16px 12px 24px;
    }

    .auth-logo-shell {
        height: 230px;
        margin-bottom: 16px;
        padding: 0;
    }

    .auth-page-logo {
        border-radius: 0;
        object-fit: contain;
        object-position: center;
        transform: scale(1.62);
    }

    .login-card {
        border-radius: 18px;
    }

    .onboarding-card {
        padding: 24px 19px;
    }

    .onboarding-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .onboarding-actions > div {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .onboarding-actions button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-page::before,
    .login-page::after,
    .auth-logo-shell {
        animation: none;
    }
}

.plan-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.personal-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(300px, 0.9fr) minmax(320px, 1.1fr);
    margin-top: 18px;
}

.personal-nav {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(5, minmax(110px, 1fr));
    margin-bottom: 18px;
    padding: 8px;
}

.personal-nav a {
    border-radius: 11px;
    color: var(--muted);
    font-weight: 800;
    padding: 12px;
    text-align: center;
}

.personal-nav a.active,
.personal-nav a:hover {
    background: linear-gradient(135deg, var(--primary), #0ea5e9);
    color: #fff;
}

.personal-entry-form {
    margin-bottom: 18px;
}

.personal-entry-choice {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin: 14px 0;
}

.personal-entry-choice button {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 14px;
    color: var(--text);
    cursor: pointer;
    font-weight: 900;
    min-height: 52px;
    padding: 12px;
}

.personal-entry-choice button.active,
.personal-entry-choice button:hover {
    background: linear-gradient(135deg, var(--primary), #0ea5e9);
    border-color: #38bdf8;
    color: #fff;
}

.personal-entry-hint {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 14px;
    padding: 11px 12px;
}

.personal-entry-hint[hidden] {
    display: none;
}

.personal-mobile-menu-toggle {
    margin-bottom: 14px;
}

.topbar-actions {
    align-items: center;
    display: flex;
    gap: 10px;
}

.personal-summary-cards small,
.metric-card small {
    color: var(--muted);
    display: block;
    margin-top: 8px;
}

.personal-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 1000;
}

.personal-modal[hidden] {
    display: none;
}

.personal-modal-backdrop {
    background: #020617d9;
    inset: 0;
    position: absolute;
}

.personal-modal-card {
    margin: 0;
    max-height: calc(100vh - 40px);
    max-width: 720px;
    overflow-y: auto;
    position: relative;
    width: 100%;
    z-index: 1;
}

.balance-comparison {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin-top: 20px;
}

.balance-comparison span {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    display: grid;
    gap: 6px;
    padding: 14px;
}

.sale-total-box {
    border-color: var(--primary);
}

.sale-total-box strong {
    color: var(--primary);
    font-size: 22px;
}

.recommendation-item {
    align-items: center;
    background: rgba(15, 23, 42, .34);
    border: 1px solid rgba(56, 189, 248, .18);
    border-radius: 12px;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    padding: 12px;
}

.recommendation-item.unread {
    border-left: 4px solid var(--primary);
}

.notification-bell-shell {
    bottom: 68px;
    position: fixed;
    right: 18px;
    z-index: 1200;
}

.notification-bell-button {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 999px;
    box-shadow: 0 10px 30px #02061755;
    color: var(--text);
    cursor: pointer;
    display: flex;
    font-size: 17px;
    height: 40px;
    justify-content: center;
    position: relative;
    width: 40px;
}

.notification-bell-button b {
    align-items: center;
    background: #ef4444;
    border: 2px solid var(--panel);
    border-radius: 999px;
    color: #fff;
    display: flex;
    font-size: 11px;
    height: 18px;
    justify-content: center;
    min-width: 18px;
    padding: 0 4px;
    position: absolute;
    right: -5px;
    top: -5px;
}

.notification-dropdown {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 18px 50px #02061799;
    bottom: 48px;
    max-height: min(560px, calc(100vh - 90px));
    overflow: auto;
    padding: 12px;
    position: absolute;
    right: 0;
    width: min(390px, calc(100vw - 28px));
}

.floating-support-button {
    align-items: center;
    background: linear-gradient(135deg, #22d3ee, #38bdf8 55%, #0ea5e9);
    border: 1px solid rgba(125, 211, 252, .85);
    border-radius: 999px;
    bottom: 18px;
    box-shadow: 0 10px 28px rgba(14, 165, 233, .32);
    color: #02111f;
    display: flex;
    font-size: 19px;
    height: 42px;
    justify-content: center;
    position: fixed;
    right: 17px;
    transition: transform .2s ease, background .2s ease;
    width: 42px;
    z-index: 1199;
}

.floating-support-button:hover {
    background: linear-gradient(135deg, #67e8f9, #38bdf8 55%, #0284c7);
    transform: translateY(-2px);
}

.notification-dropdown-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding: 5px 5px 12px;
}

.notification-list {
    display: grid;
    gap: 9px;
}

.notification-entry {
    background: var(--panel-soft);
    border: 1px solid rgba(56, 189, 248, .22);
    border-left: 4px solid var(--primary);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    padding: 12px;
}

.notification-entry.priority-warning,
.notification-entry.priority-urgent {
    border-left-color: var(--danger);
}

.notification-entry.priority-urgent {
    background: linear-gradient(145deg, #3b1820, #20131b);
    box-shadow: inset 0 0 0 1px #fb718544;
}

.notification-entry p,
.notification-entry small {
    color: var(--muted);
    margin: 5px 0 0;
}

.notification-entry button {
    background: transparent;
    border: 0;
    color: var(--primary);
    cursor: pointer;
    font-weight: 800;
    padding: 0;
    text-align: left;
}

.notification-empty {
    color: var(--muted);
    margin: 0;
    padding: 20px 10px;
    text-align: center;
}

.filter-toggle-button {
    margin-bottom: 14px;
}

.collapsible-filter-panel {
    margin-bottom: 18px;
}

.collapsible-filter-panel[hidden] {
    display: none !important;
}

.recommendation-item h2 {
    margin: 10px 0 6px;
}

.recommendation-item p,
.recommendation-item small {
    color: var(--muted);
}

.personal-items {
    display: grid;
    gap: 12px;
}

.personal-item {
    align-items: center;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-left: 4px solid var(--orange);
    border-radius: 14px;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 16px;
}

.personal-item.income {
    border-left-color: var(--primary);
}

.personal-item-main {
    align-items: center;
    display: flex;
    gap: 12px;
}

.personal-item-icon {
    align-items: center;
    background: var(--warning-bg);
    border-radius: 12px;
    color: var(--warning);
    display: flex;
    font-size: 22px;
    font-weight: 900;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.personal-item.income .personal-item-icon {
    background: var(--success-bg);
    color: var(--success);
}

.personal-item h3,
.personal-item p {
    margin: 0;
}

.personal-item p {
    color: var(--muted);
    margin-top: 5px;
}

.personal-item-value {
    display: grid;
    gap: 7px;
    justify-items: end;
}

.personal-item-actions {
    display: flex;
    gap: 7px;
}

.personal-item-actions form {
    margin: 0;
}

.personal-pay-button,
.personal-delete-button {
    border-radius: 9px;
    font-size: 13px;
    line-height: 1;
    min-height: 36px;
    padding: 9px 12px;
    white-space: nowrap;
}

.personal-pay-button {
    background: var(--success-bg);
    border: 1px solid color-mix(in srgb, var(--success) 45%, transparent);
    color: var(--success);
    cursor: pointer;
    font-weight: 800;
}

.personal-pay-button:hover {
    background: var(--success);
    color: #fff;
}

.month-input {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--text);
    min-height: 44px;
    padding: 10px 12px;
}

.chart-list {
    display: grid;
    gap: 14px;
}

.chart-row div {
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-bottom: 7px;
}

.chart-row i {
    background: linear-gradient(90deg, var(--primary), #38bdf8);
    border-radius: 999px;
    display: block;
    height: 12px;
    min-width: 4px;
}

.chart-subtitle {
    margin-top: 28px !important;
}

.split-chart {
    display: flex;
    min-height: 54px;
    overflow: hidden;
    border-radius: 12px;
}

.split-chart span,
.split-chart b {
    align-items: center;
    display: flex;
    justify-content: center;
    min-width: 100px;
    padding: 10px;
    text-align: center;
}

.split-chart span {
    background: var(--success-bg);
    color: var(--success);
}

.split-chart b {
    background: var(--warning-bg);
    color: var(--warning);
}

.positive-value {
    color: var(--success);
}

.negative-value {
    color: var(--danger);
}

.status-paid {
    background: var(--success-bg);
    color: var(--success);
}

.status-overdue {
    background: var(--danger-bg);
    color: var(--danger);
}

.access-choice-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr;
}

.access-choice-grid form {
    display: flex;
}

.access-choice {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    color: var(--text);
    cursor: pointer;
    display: grid;
    gap: 8px;
    padding: 24px;
    text-align: left;
    width: 100%;
}

.access-choice:hover {
    border-color: var(--primary);
}

.access-choice strong {
    color: var(--primary);
    font-size: 20px;
}

.access-choice span,
.table-subtext {
    color: var(--muted);
}

.table-subtext {
    display: block;
    font-size: 12px;
    margin-top: 4px;
}

.seller-chart {
    align-items: end;
    display: flex;
    gap: 14px;
    min-height: 190px;
    overflow-x: auto;
}

.seller-chart-column {
    align-items: center;
    display: flex;
    flex: 1 0 64px;
    flex-direction: column;
    gap: 7px;
    justify-content: flex-end;
}

.seller-chart-column i {
    background: linear-gradient(180deg, #38bdf8, var(--primary));
    border-radius: 8px 8px 2px 2px;
    min-height: 4px;
    width: 34px;
}

.seller-chart-column strong,
.seller-chart-column span {
    font-size: 11px;
}

.seller-comparison {
    display: grid;
    gap: 12px;
}

.seller-name-ranking {
    display: grid;
    gap: 10px;
}

.seller-name-ranking a {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    font-size: 17px;
    font-weight: 800;
    padding: 16px 18px;
}

.seller-name-ranking a:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.seller-performance-chart,
.finance-bar-chart {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.seller-performance-chart a,
.finance-bar-chart > div {
    display: grid;
    gap: 8px;
}

.seller-performance-chart a > div {
    display: flex;
    justify-content: space-between;
}

.seller-performance-chart i,
.finance-bar-chart i {
    background: var(--panel-soft);
    border-radius: 999px;
    display: block;
    height: 14px;
    overflow: hidden;
}

.seller-performance-chart i b,
.finance-bar-chart i b {
    background: linear-gradient(90deg, var(--primary), #38bdf8);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 3px;
}

.finance-bar-chart > div {
    grid-template-columns: minmax(100px, .8fr) minmax(130px, 2fr) auto;
}

.seller-comparison a {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(130px, .7fr) minmax(140px, 2fr) auto;
}

.seller-comparison i {
    background: linear-gradient(90deg, var(--primary), #38bdf8);
    border-radius: 999px;
    height: 14px;
    min-width: 4px;
}

.monthly-chart {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(6, minmax(38px, 1fr));
    min-height: 190px;
}

.monthly-column {
    display: grid;
    gap: 8px;
    text-align: center;
}

.monthly-bars {
    align-items: end;
    display: flex;
    gap: 4px;
    height: 150px;
    justify-content: center;
}

.monthly-bars i,
.monthly-bars b {
    border-radius: 6px 6px 2px 2px;
    display: block;
    min-height: 3px;
    width: 15px;
}

.monthly-bars i {
    background: var(--primary);
}

.monthly-bars b {
    background: var(--orange);
}

@media (max-width: 900px) {
    .plan-options,
    .personal-grid {
        grid-template-columns: 1fr;
    }

    .personal-nav {
        grid-template-columns: repeat(2, 1fr);
    }

    .personal-item {
        grid-template-columns: 1fr;
    }

    .personal-item-value {
        justify-items: start;
    }

    .personal-item-actions {
        flex-wrap: wrap;
        width: 100%;
    }

    .personal-item-actions form {
        flex: 1 1 auto;
    }

    .personal-pay-button,
    .personal-delete-button {
        width: 100%;
    }

    .topbar-actions,
    .recommendation-item {
        align-items: stretch;
        flex-direction: column;
    }

    .balance-comparison {
        grid-template-columns: 1fr;
    }

    .personal-entry-choice {
        grid-template-columns: 1fr;
    }

    .notification-bell-shell {
        bottom: 65px;
        right: 12px;
    }

    .floating-support-button {
        bottom: 14px;
        right: 11px;
    }

    .access-choice-grid {
        grid-template-columns: 1fr;
    }

    .seller-comparison a {
        grid-template-columns: 1fr;
    }
}

/* Contraste global e componentes visuais */
body,
.main-content,
.standalone-page,
.login-card,
.form-panel,
.table-panel,
.metric-card,
.personal-item,
.notification-dropdown,
.notification-modal-card {
    color: #f8fafc;
}

h1,
h2,
h3,
h4,
label,
th,
td,
.sidebar-menu a,
.personal-nav a,
.plan-option,
.plan-option p,
.plan-option li,
.notification-entry strong {
    color: #f8fafc;
}

p,
small,
.muted-text,
.table-subtext,
.notification-entry p,
.notification-entry small,
.personal-item p,
.topbar p,
.section-title-row p {
    color: #cbd5e1;
}

input,
select,
textarea {
    background: #0b1322;
    border-color: #3a4b63;
    color: #f8fafc;
}

input::placeholder,
textarea::placeholder {
    color: #94a3b8;
    opacity: 1;
}

select option {
    background: #101827;
    color: #f8fafc;
}

.notification-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 1400;
}

.notification-modal[hidden] {
    display: none;
}

.notification-modal-backdrop {
    background: #020617d9;
    inset: 0;
    position: absolute;
}

.notification-modal-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 24px 80px #020617cc;
    max-height: calc(100vh - 36px);
    max-width: 760px;
    overflow-y: auto;
    padding: 20px;
    position: relative;
    width: 100%;
    z-index: 1;
}

.notification-modal-header {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 16px;
}

.notification-modal-header h2,
.notification-modal-header p {
    margin: 0;
}

.notification-modal-header p {
    margin-top: 5px;
}

.notification-modal-close,
.notification-view-all {
    background: transparent;
    border: 0;
    color: #7dd3fc;
    cursor: pointer;
    font-weight: 800;
}

.notification-modal-list {
    display: grid;
    gap: 12px;
}

.notification-entry.compact p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
}

.donut-comparison,
.finance-donut-grid,
.seller-donut-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
}

.donut-comparison article,
.finance-donut-grid article,
.seller-donut-grid a {
    align-items: center;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    text-align: center;
}

.donut-chart {
    align-items: center;
    background: conic-gradient(#22d3ee calc(var(--donut-value) * 1%), #172235 0);
    border-radius: 50%;
    display: flex;
    height: 108px;
    justify-content: center;
    position: relative;
    width: 108px;
}

.donut-chart.warning {
    background: conic-gradient(#f59e0b calc(var(--donut-value) * 1%), #172235 0);
}

.donut-chart::after {
    background: var(--panel-soft);
    border-radius: 50%;
    content: "";
    height: 72px;
    position: absolute;
    width: 72px;
}

.donut-chart strong {
    color: #fff;
    position: relative;
    z-index: 1;
}

.circular-category-chart {
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
}

.circular-category-chart .chart-row {
    align-items: center;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    padding: 14px;
    text-align: center;
}

.circular-category-chart .chart-row > i {
    align-items: center;
    background: conic-gradient(#38bdf8 calc(var(--chart-value) * 1%), #172235 0);
    border-radius: 50%;
    display: flex;
    height: 82px;
    justify-content: center;
    margin-bottom: 10px;
    position: relative;
    width: 82px;
}

.circular-category-chart .chart-row > i::after {
    background: var(--panel-soft);
    border-radius: 50%;
    content: "";
    height: 54px;
    position: absolute;
    width: 54px;
}

.circular-category-chart .chart-row > i span {
    color: #fff;
    font-style: normal;
    font-weight: 900;
    position: relative;
    z-index: 1;
}

.circular-category-chart .chart-row div {
    display: grid;
    gap: 4px;
    margin: 0;
}

.personal-summary-cards .metric-card:nth-child(4) {
    display: none;
}

.personal-grid .chart-subtitle,
.personal-grid .donut-comparison {
    display: none;
}

.personal-grid {
    align-items: start;
}

.circular-category-chart {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
}

.circular-category-chart .chart-row {
    align-items: stretch;
    border-radius: 12px;
    display: grid;
    gap: 8px;
    padding: 12px;
    text-align: left;
}

.circular-category-chart .chart-row > i {
    background: #172235;
    border-radius: 999px;
    display: block;
    height: 9px;
    margin: 0;
    overflow: hidden;
    width: 100%;
}

.circular-category-chart .chart-row > i::after {
    background: linear-gradient(90deg, var(--primary), #38bdf8);
    border-radius: inherit;
    content: "";
    display: block;
    height: 100%;
    position: static;
    width: calc(var(--chart-value) * 1%);
}

.circular-category-chart .chart-row > i span {
    display: none;
}

.circular-category-chart .chart-row div {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.monthly-chart {
    min-height: 170px;
}

.chart-helper {
    margin-top: -4px;
}

.online-product-checklist {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.online-product-checklist label {
    align-items: center;
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    display: flex;
    gap: 12px;
    padding: 12px;
}

.online-product-checklist span {
    display: grid;
    gap: 4px;
}

.online-product-manager {
    background: color-mix(in srgb, var(--panel-soft) 72%, transparent);
    border: 1px solid var(--line);
    border-radius: 18px;
    margin-top: 24px;
    padding: 18px;
}

.online-product-manager-head {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.online-product-manager-head h2 { margin: 0; }
.online-product-manager-head p { color: var(--muted); font-size: .82rem; margin: 5px 0 0; }
.online-product-manager-head > strong {
    background: color-mix(in srgb, var(--accent) 13%, transparent);
    border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
    border-radius: 999px;
    color: var(--accent);
    font-size: .76rem;
    padding: 7px 11px;
    white-space: nowrap;
}

.online-product-controls {
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) minmax(190px, .55fr);
    margin-top: 18px;
}

.online-product-controls label { display: grid; gap: 6px; margin: 0; }
.online-product-controls label > span { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.online-product-controls input,
.online-product-controls select { margin: 0; width: 100%; }

.online-product-bulk-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; }
.online-product-bulk-actions button { margin: 0; min-height: 36px; padding: 8px 12px; }
.online-product-bulk-actions .online-clear-all { background: transparent; border: 0; color: var(--muted); }
.online-product-checklist { max-height: 470px; overflow: auto; padding-right: 4px; }
.online-product-checklist label { cursor: pointer; transition: border-color .16s ease, background .16s ease; }
.online-product-checklist label:has(input:checked) {
    background: color-mix(in srgb, var(--accent) 9%, var(--panel-soft));
    border-color: color-mix(in srgb, var(--accent) 45%, var(--line));
}
.online-product-empty { color: var(--muted); margin: 24px 0; text-align: center; }

@media (max-width: 720px) {
    .online-product-manager { padding: 14px; }
    .online-product-manager-head { align-items: stretch; flex-direction: column; gap: 10px; }
    .online-product-manager-head > strong { align-self: flex-start; }
    .online-product-controls { grid-template-columns: 1fr; }
    .online-product-bulk-actions .button-secondary { flex: 1; }
}

.public-menu-link {
    display: flex;
    gap: 10px;
    margin: 14px 0;
}

.public-menu-link input {
    flex: 1;
}

.hidden-public-link {
    display: block;
    margin-top: 14px;
}

.hidden-public-link summary {
    color: var(--accent);
    cursor: pointer;
    font-weight: 700;
    letter-spacing: 0;
}

.hidden-public-link input {
    margin-top: 10px;
    width: 100%;
}

.public-menu-link-actions {
    align-items: stretch;
    flex-wrap: wrap;
}

.public-menu-link-actions input {
    display: none;
}

.simple-menu-link {
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: 14px;
}

.simple-menu-link input {
    min-width: 0;
}

.simple-menu-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.compact-qr-code {
    max-width: 190px;
}

.public-order-confirm-modal {
    align-items: center;
    background: rgba(2, 6, 23, 0.76);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 1400;
}

.public-order-confirm-box {
    background: #101827;
    border: 1px solid #2b4568;
    border-radius: 24px;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.45);
    color: #f8fafc;
    max-height: calc(100dvh - 36px);
    max-width: 620px;
    overflow: auto;
    padding: 28px;
    width: 100%;
}

.public-order-confirm-box h2 {
    font-size: 28px;
    margin: 0 0 8px;
}

.public-order-confirm-box p {
    color: #cbd5e1;
    margin: 0 0 18px;
}

.order-confirm-customer {
    background: #0b1220;
    border: 1px solid #263449;
    border-radius: 16px;
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
    padding: 14px;
}

.order-confirm-items {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.order-confirm-items > li {
    align-items: start;
    background: #111c2e;
    border: 1px solid #263449;
    border-radius: 14px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 12px;
}

.order-confirm-items small {
    color: #aab8ca;
    display: block;
    margin-top: 4px;
}

.order-confirm-items ul {
    color: #5ee7b7;
    list-style: none;
    margin: 7px 0 0;
    padding: 0 0 0 10px;
}

.order-confirm-total {
    align-items: center;
    border-top: 1px solid #263449;
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    padding-top: 18px;
}

.order-confirm-total strong {
    color: #5ee7b7;
    font-size: 24px;
}

.online-qr-code {
    background: #fff;
    border-radius: 16px;
    display: block;
    max-width: 240px;
    padding: 10px;
    width: 100%;
}

.public-menu-body {
    background: #020617;
    color: var(--text);
}

.public-menu {
    margin: 0 auto;
    max-width: 1180px;
    padding: 22px;
}

.public-menu-header {
    align-items: center;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 20px;
    display: flex;
    gap: 16px;
    margin-bottom: 18px;
    padding: 18px;
}

.public-menu-header img,
.public-status-card > img,
.public-status-hero img {
    border-radius: 16px;
    height: 72px;
    object-fit: cover;
    width: 72px;
}

.public-menu-header h1,
.public-menu-header p {
    margin: 0;
}

.public-menu-grid {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) minmax(310px, 380px);
}

.public-products {
    display: grid;
    gap: 12px;
}

.public-product-card {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 16px;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) 90px;
    padding: 16px;
}

.public-product-card h2,
.public-product-card p {
    margin: 0 0 6px;
}

.public-product-card small {
    color: var(--primary);
    font-weight: 900;
}

.public-product-card .full-field {
    grid-column: 1 / -1;
}

.public-cart {
    position: sticky;
    top: 16px;
}

.public-cart-total {
    display: block;
    margin: 12px 0;
}

.public-status-card {
    background: radial-gradient(circle at top, #1f3b63 0, #101827 42%, #081120 100%);
    border: 1px solid #365174;
    border-radius: 28px;
    box-shadow: 0 28px 90px #0008;
    margin: 32px auto;
    max-width: 760px;
    padding: 28px;
    text-align: left;
}

.online-status-box {
    background: #0f1c30;
    border: 1px solid #38547a;
    border-radius: 20px;
    display: grid;
    gap: 8px;
    margin: 20px 0;
    padding: 20px;
    text-align: center;
}

.online-status-box span {
    color: #93c5fd;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.online-status-box strong {
    color: #fff;
    font-size: clamp(24px, 5vw, 36px);
}

.public-status-hero {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: center;
    text-align: left;
}

.public-status-hero span {
    color: #67e8f9;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.public-status-hero h1 {
    font-size: clamp(30px, 6vw, 46px);
    margin: 3px 0;
}

.public-status-hero p {
    color: #dbeafe;
    font-size: 18px;
    font-weight: 800;
    margin: 0;
}

.online-status-progress {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
    margin: 18px 0 22px;
}

.online-status-progress span {
    align-items: center;
    color: #cbd5e1;
    display: grid;
    font-size: 12px;
    font-weight: 900;
    gap: 8px;
    justify-items: center;
    text-align: center;
}

.online-status-progress i {
    background: #1e293b;
    border: 2px solid #334155;
    border-radius: 999px;
    display: block;
    height: 22px;
    position: relative;
    width: 22px;
}

.online-status-progress .done i,
.online-status-progress .active i {
    background: linear-gradient(135deg, var(--primary), #0ea5e9);
    border-color: #67e8f9;
    box-shadow: 0 0 22px #22d3ee88;
}

.online-status-progress .active i {
    animation: statusPulse 1.1s ease-in-out infinite;
}

.online-status-progress.is-canceled .active i,
.online-status-progress.is-canceled .done i {
    background: var(--danger);
    border-color: #fecaca;
}

.public-order-summary {
    background: #0f1c30;
    border: 1px solid #38547a;
    border-radius: 20px;
    margin-bottom: 20px;
    padding: 18px;
}

.public-order-summary h2,
.public-order-summary p {
    margin: 0 0 10px;
}

.public-order-summary ul {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 12px 0;
    padding: 0;
}

.public-order-summary li {
    background: #14233a;
    border: 1px solid #294263;
    border-radius: 12px;
    display: grid;
    gap: 3px;
    grid-template-columns: 1fr auto;
    padding: 10px 12px;
}

.public-order-summary li small {
    color: #cbd5e1;
    grid-column: 1 / -1;
}

.public-order-total {
    align-items: center;
    border-top: 1px solid #294263;
    display: flex;
    justify-content: space-between;
    padding-top: 12px;
}

.public-order-total strong {
    color: #67e8f9;
    font-size: 24px;
}

@keyframes statusPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.22); }
}

.online-order-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 3000;
}

.online-order-stack {
    display: grid;
    gap: 14px;
    max-height: calc(100vh - 32px);
    max-width: min(460px, calc(100vw - 28px));
    overflow-y: auto;
    position: fixed;
    right: 18px;
    top: 18px;
    width: 100%;
    z-index: 3000;
}

.online-order-backdrop {
    background: #020617dd;
    inset: 0;
    position: absolute;
}

.online-order-card {
    background:
        radial-gradient(circle at top right, rgba(34, 211, 238, 0.12), transparent 34%),
        linear-gradient(145deg, #132238, #091423);
    border: 1px solid rgba(80, 119, 164, 0.72);
    border-radius: 20px;
    box-shadow: 0 28px 95px #000b, inset 0 1px 0 rgba(255,255,255,0.04);
    max-height: calc(100vh - 40px);
    max-width: 740px;
    overflow: auto;
    padding: 26px;
    position: relative;
    width: 100%;
}

.online-order-card h2 {
    color: #fff;
    font-size: clamp(26px, 4vw, 36px);
    margin-top: 0;
}

.online-order-details {
    background: rgba(8, 18, 33, 0.86);
    border: 1px solid rgba(72, 110, 154, 0.8);
    border-radius: 16px;
    display: grid;
    gap: 10px;
    padding: 16px;
}

.online-order-details p,
.online-order-details h3 {
    color: #f8fafc;
    margin: 0;
}

.online-order-details strong {
    color: #93c5fd;
}

.online-order-details ul {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 18px;
}

.online-order-details li small {
    color: #cbd5e1;
    display: block;
}

.online-wait-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 12px;
}

.online-wait-options button {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text);
    cursor: pointer;
    font-weight: 800;
    padding: 8px 11px;
}

.online-wait-options button.active {
    background: linear-gradient(135deg, #20d2b8, #1b9dff);
    border-color: transparent;
    color: #03111f;
}

.online-wait-options input {
    background: #0b1322;
    border: 1px solid #466080;
    border-radius: 10px;
    color: #fff;
    max-width: 110px;
    min-height: 38px;
    padding: 8px;
}

.online-deny-reason {
    color: #dbeafe;
    display: grid;
    gap: 6px;
}

.online-deny-reason input {
    background: #0b1322;
    border: 1px solid #466080;
    border-radius: 10px;
    color: #fff;
    min-height: 40px;
    padding: 9px 10px;
}

.online-order-card [data-online-deny] {
    background: linear-gradient(135deg, #ef4444, #fb7185);
    box-shadow: 0 16px 38px rgba(239, 68, 68, 0.22);
    color: #fff;
}

.online-order-card [data-online-accept] {
    background: linear-gradient(135deg, #20d2b8, #16a5f5);
    color: #03111f;
}

.online-status-form {
    margin-bottom: 18px;
}

.online-order-meta-panel {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin: 16px 0 22px;
}

.online-order-meta-panel div {
    background: rgba(8, 18, 33, 0.76);
    border: 1px solid rgba(72, 110, 154, 0.72);
    border-radius: 14px;
    display: grid;
    gap: 6px;
    padding: 14px;
}

.online-order-meta-panel div.wide {
    grid-column: 1 / -1;
}

.online-order-meta-panel span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.online-order-meta-panel strong {
    color: var(--text);
    font-size: 15px;
    overflow-wrap: anywhere;
}

.online-timer-card {
    align-items: center;
    background: linear-gradient(135deg, #0d1b2f, #07111f);
    border: 1px solid #1f4066;
    border-radius: 22px;
    box-shadow: 0 18px 50px #02061744;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    margin: 0 0 20px;
    padding: 18px;
}

.online-timer-card h2 {
    color: #f8fafc;
    font-size: clamp(20px, 2.5vw, 30px);
    margin: 4px 0 8px;
}

.online-timer-card p {
    color: #cbd5e1;
    margin: 0;
}

.online-countdown {
    align-items: center;
    aspect-ratio: 1;
    background:
        radial-gradient(circle at center, #07111f 52%, transparent 53%),
        conic-gradient(#22d3ee calc(var(--timer-progress, 100) * 1%), #172235 0);
    border: 1px solid rgba(34, 211, 238, .35);
    border-radius: 999px;
    box-shadow: 0 16px 42px rgba(34, 211, 238, .16);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 118px;
    padding: 14px;
    text-align: center;
}

.online-countdown span {
    font-size: 24px;
    font-weight: 950;
    line-height: 1;
}

.online-countdown small {
    color: #67e8f9;
    font-size: 10px;
    font-weight: 900;
    margin-top: 8px;
    text-transform: uppercase;
}

.online-countdown.is-warning {
    background:
        radial-gradient(circle at center, #07111f 52%, transparent 53%),
        conic-gradient(#f59e0b calc(var(--timer-progress, 100) * 1%), #172235 0);
    border-color: rgba(245, 158, 11, .55);
    box-shadow: 0 16px 42px rgba(245, 158, 11, .16);
}

.online-countdown.is-danger {
    background:
        radial-gradient(circle at center, #07111f 52%, transparent 53%),
        conic-gradient(#ef4444 calc(var(--timer-progress, 100) * 1%), #172235 0);
    border-color: rgba(239, 68, 68, .6);
    box-shadow: 0 16px 42px rgba(239, 68, 68, .18);
}

.online-countdown.is-done {
    background:
        radial-gradient(circle at center, #07111f 52%, transparent 53%),
        conic-gradient(#22c55e 0deg, #14b8a6 360deg);
}

.online-status-pill {
    background: #123524;
    border: 1px solid #22c55e66;
    border-radius: 999px;
    color: #bbf7d0;
    font-weight: 900;
    padding: 10px 14px;
}

@media (max-width: 760px) {
    .online-timer-card {
        grid-template-columns: 1fr;
    }

    .online-countdown {
        justify-self: center;
    }
}

.category-tabs {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin: 0 0 16px;
}

.category-tabs button {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 999px;
    color: var(--text);
    cursor: pointer;
    font-weight: 900;
    min-height: 40px;
    padding: 9px 16px;
}

.category-tabs button.active,
.category-tabs button:hover {
    background: linear-gradient(135deg, var(--primary), #0ea5e9);
    border-color: #38bdf8;
    color: #fff;
}

.bulk-menu-head,
.bulk-menu-row {
    grid-template-columns: minmax(200px, 1.2fr) minmax(170px, .9fr) minmax(110px, .55fr) minmax(110px, .55fr) minmax(240px, 1.2fr);
}

.public-category-tabs {
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 10px;
}

.public-product-card {
    align-items: center;
    background: linear-gradient(145deg, #111c2f, #0c1424);
    box-shadow: 0 14px 40px #02061733;
    grid-template-columns: minmax(0, 1fr) auto;
}

.public-product-card > div {
    min-width: 0;
}

.public-delivery-summary {
    background: #0d1b2f;
    border: 1px solid #1f4066;
    border-radius: 14px;
    color: #dbeafe;
    font-weight: 800;
    margin: 10px 0;
    padding: 10px 12px;
}

.public-delivery-summary strong {
    color: #67e8f9;
}

.public-add-cart {
    align-items: center;
    background: linear-gradient(135deg, var(--primary), #0ea5e9);
    border: 0;
    border-radius: 16px;
    color: #fff;
    cursor: pointer;
    display: flex;
    font-size: 22px;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.public-cart-items {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
}

.public-cart-item {
    background: var(--panel-soft);
    border: 1px solid var(--line);
    border-radius: 14px;
    display: grid;
    gap: 9px;
    grid-template-columns: minmax(0, 1fr) 82px auto;
    padding: 12px;
}

.public-cart-item .full-field {
    grid-column: 1 / -1;
}

.public-cart-item button {
    align-self: end;
    background: transparent;
    border: 0;
    color: var(--danger);
    cursor: pointer;
    font-weight: 900;
    padding: 10px 0;
}

@media (max-width: 860px) {
    .public-menu-grid,
    .public-product-card {
        grid-template-columns: 1fr;
    }

    .public-cart {
        position: static;
    }

    .bulk-menu-head,
    .bulk-menu-row,
    .public-cart-item {
        grid-template-columns: 1fr;
    }
}

.public-cart-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.public-cart-icon {
    width: 22px;
    height: 18px;
    border: 2px solid currentColor;
    border-radius: 5px 5px 7px 7px;
    position: relative;
    display: inline-block;
}

.public-cart-icon::before {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    top: -8px;
    height: 9px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
}

.public-cart-toast {
    position: fixed;
    right: 18px;
    top: 82px;
    z-index: 1100;
    padding: 12px 16px;
    border: 1px solid rgba(34, 211, 238, 0.45);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(15, 185, 177, 0.96), rgba(14, 165, 233, 0.96));
    color: #03111f;
    font-weight: 800;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32);
    transform: translateY(-8px);
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;
    pointer-events: none;
}

.public-cart-toast.show {
    opacity: 1;
    transform: translateY(0);
}

.download-card {
    max-width: 680px;
}

.download-main-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
    text-decoration: none;
}

.inline-admin-form {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(100px, 0.7fr) auto;
    gap: 8px;
    align-items: center;
}

.inline-admin-form select,
.inline-admin-form button {
    min-height: 42px;
}

.category-manager-modal {
    max-width: 760px;
    width: min(760px, calc(100vw - 28px));
}

.category-create-form {
    margin-bottom: 18px;
}

.category-edit-list {
    max-height: 52vh;
    overflow: auto;
}

.category-edit-list .compact-item-content {
    display: block;
}

.account-suggestion-callout {
    align-items: center;
    background: rgba(15, 28, 48, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 18px;
    color: #cbd5e1;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin: 0 0 16px;
    padding: 12px 14px;
}

.subtle-button {
    min-height: 36px;
    padding: 8px 12px;
}

.account-footer {
    color: #94a3b8;
    font-size: 13px;
    margin: 24px 0 4px;
    text-align: center;
}

.account-footer span,
.nith-home-footer span {
    display: block;
    margin-top: 8px;
}

.account-footer a,
.nith-home-footer a {
    color: #67e8f9;
    font-weight: 800;
    text-decoration: none;
}

.account-footer a:hover,
.nith-home-footer a:hover {
    color: #fff;
}

.account-top-actions {
    display: flex;
    justify-content: flex-end;
    margin: -4px 0 12px;
}

.account-top-actions .subtle-button {
    background: rgba(15, 28, 48, .42);
    border-color: rgba(148, 163, 184, .16);
    box-shadow: none;
    color: #cbd5e1;
    font-size: 12px;
    min-height: 32px;
    padding: 7px 10px;
}

.menu-theme-section {
    opacity: .86;
}

.menu-theme-section .account-settings-toggle {
    max-width: 360px;
}

.menu-theme-section:not([open]) .account-settings-toggle {
    background: rgba(15, 28, 48, .32);
    border-color: rgba(148, 163, 184, .12);
}

.account-import-footer-link {
    color: #64748b !important;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700 !important;
    margin-top: 10px;
    opacity: .72;
}

.account-import-footer-link:hover {
    color: #94a3b8 !important;
    opacity: 1;
}

.suggestion-message {
    color: #e2e8f0;
    line-height: 1.6;
    margin: 12px 0 0;
    white-space: normal;
}

.download-landing {
    background: radial-gradient(circle at 50% 0, #12365a 0, #07111f 42%, #020617 100%);
    color: #f8fafc;
    min-height: 100vh;
}

.download-hero {
    margin: 0 auto;
    max-width: 1180px;
    padding: clamp(22px, 4vw, 54px);
}

.download-nav {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: clamp(32px, 6vw, 76px);
}

.download-nav img {
    height: auto;
    object-fit: contain;
    width: clamp(260px, 28vw, 460px);
}

.download-nav-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.download-nav a,
.download-nav-links a {
    border: 1px solid #334155;
    border-radius: 999px;
    color: #e2e8f0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
    font-weight: 800;
    padding: 10px 16px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.download-nav a:hover,
.download-nav-links a:hover {
    background: rgba(34, 211, 238, .12);
    border-color: #22d3ee;
    box-shadow: 0 12px 30px rgba(14, 165, 233, .2);
    color: #fff;
    transform: translateY(-1px);
}

.download-login-link {
    background: linear-gradient(135deg, #20e3b2, #0ea5e9);
    border: 0 !important;
    box-shadow: 0 14px 36px rgba(14, 165, 233, .32);
    color: #02111f !important;
    font-weight: 900;
    padding: 12px 22px !important;
}

.download-login-link:hover {
    box-shadow: 0 18px 48px rgba(34, 211, 238, .42);
    transform: translateY(-1px);
}

.download-about-link {
    background: rgba(15, 28, 48, .62);
}

.download-hero-grid {
    align-items: center;
    display: grid;
    gap: clamp(28px, 5vw, 70px);
    grid-template-columns: minmax(0, 1fr) minmax(320px, .95fr);
}

.download-copy h1 {
    font-size: clamp(34px, 6vw, 66px);
    letter-spacing: -.055em;
    line-height: .98;
    margin: 18px 0;
}

.download-copy p {
    color: #cbd5e1;
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.6;
    max-width: 680px;
}

.download-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 26px 0;
}

.download-main-button {
    align-items: center;
    background: linear-gradient(135deg, #20e3b2, #0ea5e9);
    border: 0;
    border-radius: 18px;
    box-shadow: 0 18px 55px rgba(14, 165, 233, .35);
    color: #02111f;
    display: inline-flex;
    font-size: 17px;
    font-weight: 900;
    gap: 10px;
    min-height: 58px;
    padding: 16px 24px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease;
}

.download-secondary-button,
.download-plan-cta {
    align-items: center;
    border-radius: 16px;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-height: 48px;
    padding: 0 20px;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.download-secondary-button {
    background: rgba(15, 28, 48, .72);
    border: 1px solid rgba(125, 211, 252, .28);
    color: #e0f2fe;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.download-secondary-button:hover {
    background: rgba(34, 211, 238, .12);
    border-color: rgba(34, 211, 238, .7);
    box-shadow: 0 16px 38px rgba(14, 165, 233, .22);
    color: #fff;
    transform: translateY(-2px);
}

.download-main-button span {
    align-items: center;
    background: rgba(255, 255, 255, .45);
    border-radius: 999px;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.download-main-button:hover {
    box-shadow: 0 24px 70px rgba(34, 211, 238, .42);
    transform: translateY(-2px);
}

.download-steps {
    color: #cbd5e1;
    display: grid;
    gap: 8px;
    margin: 18px 0 0;
    padding-left: 22px;
}

.download-app-preview {
    background: linear-gradient(145deg, #10213a, #071426);
    border: 1px solid #2b466a;
    border-radius: 28px;
    box-shadow: 0 28px 80px #0008;
    overflow: hidden;
}

.preview-window-bar {
    align-items: center;
    background: #020617;
    display: flex;
    gap: 8px;
    padding: 12px 16px;
}

.preview-window-bar span {
    background: #334155;
    border-radius: 999px;
    height: 10px;
    width: 10px;
}

.preview-layout {
    display: grid;
    grid-template-columns: 120px 1fr;
    min-height: 360px;
}

.preview-layout aside {
    background: #040b14;
    border-right: 1px solid #22334e;
    display: grid;
    gap: 18px;
    padding: 24px 18px;
}

.preview-layout aside b {
    color: #fff;
}

.preview-layout aside i,
.preview-cards span {
    background: #13233a;
    border-radius: 14px;
    min-height: 34px;
}

.preview-layout section {
    padding: 28px;
}

.preview-layout h2 {
    font-size: 30px;
    margin: 0 0 22px;
}

.preview-cards {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 18px;
}

.preview-cards span {
    min-height: 90px;
}

.preview-chart {
    background: conic-gradient(#22d3ee 0 42%, #10b981 42% 73%, #f59e0b 73% 100%);
    border: 18px solid #0f1c2f;
    border-radius: 999px;
    height: 150px;
    margin: 26px auto 0;
    width: 150px;
}

.download-section {
    margin-top: clamp(42px, 8vw, 96px);
}

.download-about-section {
    margin-top: clamp(54px, 9vw, 110px);
}

.download-about-card {
    background:
        radial-gradient(circle at 15% 20%, rgba(34, 211, 238, .2), transparent 30%),
        linear-gradient(135deg, rgba(15, 28, 48, .94), rgba(8, 20, 36, .92));
    border: 1px solid rgba(34, 211, 238, .24);
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .34);
    padding: clamp(24px, 5vw, 46px);
}

.download-about-card h2 {
    color: #fff;
    font-size: clamp(30px, 5vw, 52px);
    letter-spacing: -.05em;
    line-height: 1;
    margin: 18px 0;
    max-width: 820px;
}

.download-about-card p {
    color: #dbeafe;
    font-size: clamp(16px, 2vw, 19px);
    line-height: 1.7;
    max-width: 960px;
}

.download-plan-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.download-plan-grid article,
.download-feature-band article {
    background: rgba(15, 28, 48, .78);
    border: 1px solid #263d5c;
    border-radius: 24px;
    padding: 24px;
}

.download-plan-grid article {
    background:
        radial-gradient(circle at top right, rgba(56, 189, 248, .16), transparent 42%),
        linear-gradient(160deg, #151f32, #0c1422);
    border-color: #2b3c56;
    box-shadow: 0 22px 58px rgba(0, 0, 0, .28);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.download-plan-grid article:hover {
    border-color: #38bdf8;
    box-shadow: 0 28px 68px rgba(0, 0, 0, .38), 0 0 0 1px rgba(56, 189, 248, .14);
    transform: translateY(-3px);
}

.download-plan-grid span {
    align-self: flex-start;
    background: rgba(125, 211, 252, .13);
    border: 1px solid rgba(125, 211, 252, .28);
    border-radius: 999px;
    color: #bae6fd;
    font-weight: 800;
    letter-spacing: .08em;
    padding: 9px 14px;
    text-transform: uppercase;
}

.download-plan-grid h3,
.download-feature-band h2 {
    color: #fff;
    font-size: 25px;
    letter-spacing: -.035em;
    line-height: 1.14;
    margin: 18px 0 10px;
}

.download-plan-grid p,
.download-feature-band p {
    color: #f1f5f9;
    font-size: 16px;
    line-height: 1.72;
    margin: 0 0 22px;
}

.download-plan-cta {
    background: linear-gradient(135deg, #13d6a0, #0ea5e9 58%, #2563eb);
    border: 1px solid rgba(125, 211, 252, .38);
    box-shadow: 0 14px 34px rgba(14, 165, 233, .28);
    color: #02111f;
    margin: auto 0 18px;
    width: 100%;
}

.download-plan-cta:hover {
    background: linear-gradient(135deg, #5eead4, #38bdf8 58%, #3b82f6);
    box-shadow: 0 20px 46px rgba(14, 165, 233, .38);
    color: #020617;
    transform: translateY(-2px);
}

.download-plan-price {
    color: #67e8f9;
    display: block;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: -.045em;
    line-height: 1;
    margin: 14px 0 18px;
    text-shadow: 0 0 24px rgba(34, 211, 238, .18);
}

.download-plan-price small {
    color: #dbeafe;
    font-size: 15px;
    letter-spacing: 0;
    margin-left: 4px;
}

.download-mini-screen {
    background: #081424;
    border: 1px solid #203956;
    border-radius: 18px;
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding: 16px;
}

.download-mini-screen i {
    background: linear-gradient(90deg, #22d3ee, #2563eb);
    border-radius: 999px;
    height: 14px;
}

.download-mini-screen i:nth-child(2) {
    opacity: .72;
    width: 76%;
}

.download-mini-screen i:nth-child(3) {
    opacity: .5;
    width: 54%;
}

.download-feature-band {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.download-footer {
    border-top: 1px solid rgba(148, 163, 184, .16);
    color: #94a3b8;
    font-size: 14px;
    margin-top: clamp(46px, 8vw, 90px);
    padding: 24px 0 8px;
    text-align: center;
}

@media (max-width: 860px) {
    .download-hero-grid,
    .download-plan-grid,
    .download-feature-band {
        grid-template-columns: 1fr;
    }

    .download-nav img {
        width: min(70vw, 320px);
    }

    .preview-layout {
        grid-template-columns: 88px 1fr;
        min-height: 300px;
    }

    .preview-layout section {
        padding: 20px;
    }
}

@media (max-width: 760px) {
    .public-cart-toast {
        left: 14px;
        right: 14px;
        top: 74px;
        text-align: center;
    }

    .inline-admin-form {
        grid-template-columns: 1fr;
    }

    .account-suggestion-callout {
        align-items: stretch;
        flex-direction: column;
    }
}

.public-menu {
    max-width: 1120px;
    padding: clamp(14px, 4vw, 28px);
}

.public-menu-header {
    background: linear-gradient(135deg, #101d33, #0b1324 70%);
    border-color: #274363;
    box-shadow: 0 18px 60px #0006;
}

.public-menu-header h1 {
    color: #fff;
    font-size: clamp(28px, 6vw, 44px);
    letter-spacing: -.04em;
}

.public-category-tabs {
    overflow-x: auto;
    padding-bottom: 4px;
}

.public-product-card {
    background: linear-gradient(145deg, #111d31, #0b1424);
    border-color: #263d5c;
    box-shadow: 0 14px 40px #0003;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.public-product-card:hover {
    border-color: #22d3ee;
    box-shadow: 0 20px 55px #0891b233;
    transform: translateY(-2px);
}

.public-product-card h2 {
    color: #fff;
    font-size: 20px;
    letter-spacing: -.02em;
}

.public-product-card p {
    color: #cbd5e1;
    line-height: 1.45;
}

.public-product-card strong {
    color: #34d399;
    font-size: 18px;
}

.public-add-cart {
    align-self: center;
    background: linear-gradient(135deg, var(--primary), #0ea5e9);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 14px 35px #06b6d455;
    color: #02111f;
    cursor: pointer;
    font-size: 0;
    font-weight: 1000;
    justify-self: end;
    min-height: 44px;
    min-width: 112px;
    padding: 0 18px;
}

.public-add-cart::before {
    content: "Adicionar";
    font-size: 14px;
}

.public-cart {
    background: linear-gradient(160deg, #101b2d, #0a1220);
    border-color: #2b4568;
    box-shadow: 0 18px 55px #0005;
}

.public-cart h2 {
    color: #fff;
    letter-spacing: -.03em;
}

.public-cart-item {
    background: #101d31;
    border-color: #2d4769;
    box-shadow: inset 0 1px 0 #ffffff08;
    grid-template-columns: minmax(0, 1fr) 76px;
    transition: border-color .18s ease, transform .18s ease;
}

.public-cart-item.just-added {
    border-color: #22d3ee;
    transform: scale(1.01);
}

.public-cart-head strong {
    color: #fff;
    display: block;
}

.public-cart-head small {
    color: #34d399;
    font-weight: 900;
}

.public-extra-picker {
    grid-column: 1 / -1;
}

.public-cart-item label {
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 800;
}

.public-cart-qty,
.public-cart-item input,
.public-extra-select {
    background: #0b1424;
    border: 1px solid #31506f;
    border-radius: 12px;
    box-sizing: border-box;
    color: #fff;
    height: 42px;
    max-width: 100%;
    padding: 0 12px;
}

.public-cart-qty {
    text-align: center;
    width: 72px;
}

.public-cart-item .full-field input {
    width: 100%;
}

.public-cart-remove {
    grid-column: 1 / -1;
    justify-self: start;
}

.public-extra-picker summary {
    background: #0f3f37;
    border: 1px solid #16a085;
    border-radius: 12px;
    color: #d9fff7;
    cursor: pointer;
    display: inline-flex;
    font-weight: 900;
    padding: 10px 14px;
}

.public-extra-panel {
    background: #0b1424;
    border: 1px solid #2d4769;
    border-radius: 16px;
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 88px;
    margin-top: 10px;
    padding: 12px;
}

.public-extra-search,
.public-extra-select,
.public-extra-qty {
    width: 100%;
}

.public-extra-search,
.public-extra-select,
.public-extra-add,
.public-extra-list {
    grid-column: 1 / -1;
}

.public-extra-add {
    background: linear-gradient(135deg, #10b981, #22d3ee);
    border: 0;
    border-radius: 12px;
    color: #02111f;
    cursor: pointer;
    font-weight: 1000;
    padding: 11px 14px;
}

.public-extra-list {
    display: grid;
    gap: 8px;
}

.public-selected-extra {
    align-items: center;
    background: #13243b;
    border: 1px solid #31506f;
    border-radius: 10px;
    display: flex;
    gap: 10px;
    justify-content: space-between;
    padding: 8px 10px;
}

.public-selected-extra span {
    color: #dbeafe;
    font-size: 13px;
    font-weight: 800;
}

.public-selected-extra button {
    background: transparent;
    border: 0;
    color: #fca5a5;
    cursor: pointer;
    font-weight: 900;
}

.public-cart .public-cart-item {
    align-items: start;
    display: grid;
    gap: 14px;
    grid-template-columns: 74px minmax(0, 1fr) 44px;
    padding: 14px;
}

.public-cart-media {
    align-items: center;
    aspect-ratio: 1;
    background: #08111f;
    border: 1px solid #2d4769;
    border-radius: 14px;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.public-cart-media img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.public-cart-media .no-photo-icon {
    height: 34px;
    width: 34px;
}

.public-cart-body {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.public-cart .public-cart-head {
    align-items: start;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.public-cart-head strong,
.public-cart-unit,
.public-cart-observation {
    min-width: 0;
}

.public-cart-unit {
    color: #9fb1c8;
    font-size: 13px;
}

.public-cart-unit b {
    color: #dbeafe;
}

.public-cart-quantity-row {
    align-items: center;
    border-top: 1px solid #213550;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    padding-top: 12px;
}

.public-cart-quantity-row > span {
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 900;
}

.public-qty-stepper,
.public-addon-qty {
    align-items: center;
    background: #0b1424;
    border: 1px solid #31506f;
    border-radius: 999px;
    display: inline-flex;
    min-height: 40px;
    overflow: hidden;
}

.public-qty-stepper button,
.public-addon-qty button {
    background: transparent;
    border: 0;
    color: #e5edf7;
    cursor: pointer;
    font-size: 18px;
    font-weight: 1000;
    min-height: 40px;
    min-width: 40px;
}

.public-qty-stepper button:focus-visible,
.public-addon-qty button:focus-visible,
.public-addon-option input:focus-visible + span,
.public-cart-remove:focus-visible {
    outline: 2px solid #22d3ee;
    outline-offset: 2px;
}

.public-cart .public-cart-qty {
    background: transparent;
    border: 0;
    color: #fff;
    font-weight: 1000;
    height: 40px;
    padding: 0;
    width: 42px;
}

.public-addon-section {
    border-top: 1px solid #213550;
    display: grid;
    gap: 10px;
    padding-top: 12px;
}

.public-addon-section h3 {
    color: #f8fafc;
    font-size: 15px;
    margin: 0;
}

.public-addon-search {
    background: #0b1424;
    border: 1px solid #31506f;
    border-radius: 12px;
    color: #fff;
    min-height: 42px;
    padding: 0 12px;
    width: 100%;
}

.public-addon-list {
    display: grid;
    gap: 8px;
}

.public-addon-option {
    align-items: center;
    background: #0c1728;
    border: 1px solid #223a59;
    border-radius: 12px;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 28px minmax(0, 1fr) auto auto;
    min-height: 46px;
    padding: 9px 10px;
    transition: border-color .16s ease, background .16s ease;
}

.public-addon-option.is-selected {
    background: #10253a;
    border-color: var(--primary);
}

.public-addon-check input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.public-addon-check span {
    align-items: center;
    border: 1px solid #5f7695;
    border-radius: 7px;
    display: flex;
    height: 22px;
    justify-content: center;
    width: 22px;
}

.public-addon-check input:checked + span {
    background: var(--primary);
    border-color: var(--primary);
}

.public-addon-check input:checked + span::after {
    color: #02111f;
    content: "✓";
    font-size: 15px;
    font-weight: 1000;
}

.public-addon-text {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.public-addon-text strong {
    color: #f8fafc;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-addon-text small {
    color: #8aa1bd;
    font-size: 11px;
    font-weight: 800;
}

.public-addon-price {
    color: #22f4c7;
    font-size: 13px;
    font-weight: 1000;
    white-space: nowrap;
}

.public-addon-qty[hidden],
.public-addon-empty[hidden],
.public-extra-list[hidden],
.public-addon-option[hidden] {
    display: none;
}

.public-addon-qty b {
    color: #fff;
    min-width: 22px;
    text-align: center;
}

.public-addon-empty {
    color: #fca5a5;
    font-size: 13px;
    margin: 0;
}

.public-cart-observation {
    border-top: 1px solid #213550;
    display: grid;
    gap: 7px;
    padding-top: 12px;
}

.public-cart-observation textarea {
    background: #0b1424;
    border: 1px solid #31506f;
    border-radius: 12px;
    color: #fff;
    min-height: 74px;
    padding: 10px 12px;
    resize: vertical;
    width: 100%;
}

.public-cart-summary {
    border-top: 1px solid #213550;
    display: grid;
    gap: 7px;
    padding-top: 12px;
}

.public-cart-summary span {
    align-items: center;
    color: #b7c5d8;
    display: flex;
    justify-content: space-between;
}

.public-cart-summary span:last-child {
    color: #f8fafc;
    font-size: 16px;
    font-weight: 1000;
}

.public-cart-summary strong {
    color: inherit;
}

.public-cart .public-cart-remove {
    align-items: center;
    background: rgba(239, 68, 68, 0.14);
    border: 1px solid rgba(248, 113, 113, 0.42);
    border-radius: 12px;
    color: #fecaca;
    display: inline-flex;
    font-size: 18px;
    grid-column: auto;
    height: 42px;
    justify-content: center;
    justify-self: end;
    min-width: 42px;
    padding: 0;
}

.public-cart .public-cart-remove:hover {
    background: rgba(239, 68, 68, 0.24);
}

.order-addon-line,
.online-order-addon {
    color: #bfdbfe;
    display: block;
    font-size: 13px;
    font-weight: 800;
    margin-top: 4px;
    padding-left: 14px;
}

.public-product-tag {
    color: #22f4c7;
    display: inline-block;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    margin: 2px 0 4px;
}

.product-promo-panel {
    background: var(--color-bg-surface-secondary);
    border: 1px solid var(--color-border-default);
    border-radius: 14px;
    display: grid;
    gap: 14px;
    padding: 16px;
}

.public-buildable-modal {
    align-items: center;
    background: rgba(2, 6, 23, .72);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 16px;
    position: fixed;
    z-index: 1000;
}

.public-buildable-box {
    background: #0f1a2b;
    border: 1px solid #24415f;
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .36);
    color: #f8fafc;
    display: grid;
    max-height: min(760px, calc(100vh - 32px));
    max-width: 720px;
    overflow: hidden;
    width: min(100%, 720px);
}

.public-buildable-head,
.public-buildable-footer {
    align-items: center;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 16px 18px;
}

.public-buildable-head {
    border-bottom: 1px solid #223753;
}

.public-buildable-head h2,
.public-build-step h3 {
    margin: 0;
}

.public-buildable-head p,
.public-build-step p,
.public-build-counter {
    color: #a8b7cb;
    margin: 4px 0 0;
}

.public-buildable-head button {
    align-items: center;
    background: #172946;
    border: 1px solid #31506f;
    border-radius: 999px;
    color: #f8fafc;
    cursor: pointer;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    min-width: 42px;
}

.public-buildable-body {
    display: grid;
    gap: 14px;
    overflow: auto;
    padding: 16px 18px;
}

.public-build-step {
    border-bottom: 1px solid rgba(148, 163, 184, .14);
    display: grid;
    gap: 10px;
    padding-bottom: 14px;
}

.public-build-options {
    display: grid;
    gap: 8px;
}

.public-build-option {
    align-items: center;
    background: #0b1424;
    border: 1px solid #243a58;
    border-radius: 12px;
    cursor: pointer;
    display: grid;
    gap: 10px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    min-height: 48px;
    padding: 10px 12px;
}

.public-build-option.is-selected,
.public-build-option:has(input:checked) {
    background: #10253a;
    border-color: #22d3ee;
}

.public-build-option input {
    accent-color: #22d3ee;
}

.public-build-option span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.public-build-option b {
    color: #f8fafc;
}

.public-build-option em,
.public-build-option small {
    color: #9fb1c8;
    font-style: normal;
}

.public-build-option small {
    color: #22f4c7;
    font-weight: 900;
}

.public-build-error {
    background: rgba(239, 68, 68, .12);
    border-top: 1px solid rgba(239, 68, 68, .34);
    color: #fecaca;
    padding: 10px 18px;
}

.public-build-error[hidden] {
    display: none;
}

.public-buildable-footer {
    border-top: 1px solid #223753;
}

.public-buildable-footer strong {
    color: #22f4c7;
    font-size: 22px;
}

.public-build-summary {
    border-top: 1px solid #213550;
    display: grid;
    gap: 4px;
    padding-top: 10px;
}

.public-build-summary span {
    color: #bfdbfe;
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 640px) {
    .public-buildable-modal {
        align-items: end;
        padding: 0;
    }

    .public-buildable-box {
        border-radius: 18px 18px 0 0;
        max-height: 92vh;
        width: 100%;
    }

    .public-buildable-footer {
        position: sticky;
        bottom: 0;
    }
}

.buildable-toggle span {
    display: grid;
    gap: 4px;
}

.buildable-toggle small,
.buildable-panel-head p {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.buildable-config-panel {
    border: 1px solid var(--border);
    border-radius: 14px;
    display: grid;
    gap: 18px;
    padding: 18px;
}

.buildable-config-panel[hidden] {
    display: none;
}

.buildable-panel-head h2,
.buildable-subsection h3,
.buildable-subsection h4 {
    margin: 0;
}

.buildable-subsection {
    border-top: 1px solid var(--border);
    display: grid;
    gap: 12px;
    padding-top: 16px;
}

.section-title-row {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.section-title-row.slim {
    margin-top: 10px;
}

.buildable-variation-list,
.buildable-option-list,
.buildable-group-list {
    display: grid;
    gap: 10px;
}

.buildable-row {
    align-items: end;
    background: rgba(15, 23, 42, .32);
    border: 1px solid var(--border);
    border-radius: 12px;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(130px, 1fr)) 44px;
    padding: 12px;
}

.buildable-option-row {
    grid-template-columns: minmax(150px, 1.1fr) repeat(5, minmax(96px, .7fr)) 44px;
}

.buildable-row .wide {
    grid-column: 1 / -2;
}

.buildable-group-card {
    background: rgba(15, 23, 42, .24);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
}

.buildable-group-card summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    padding: 14px 16px;
}

.buildable-group-content {
    border-top: 1px solid var(--border);
    display: grid;
    gap: 14px;
    padding: 14px 16px 16px;
}

.icon-only {
    align-items: center;
    display: inline-flex;
    height: 42px;
    justify-content: center;
    min-width: 42px;
    padding: 0;
}

@media (max-width: 900px) {
    .buildable-row,
    .buildable-option-row {
        grid-template-columns: 1fr;
    }

    .buildable-row .wide {
        grid-column: auto;
    }

    .section-title-row {
        align-items: stretch;
        flex-direction: column;
    }
}

.online-status-progress {
    align-items: start;
    display: flex;
    gap: 0;
    justify-content: space-between;
    margin: 24px 0;
    overflow: hidden;
    position: relative;
}

.online-status-progress::before {
    background: #1e293b;
    border-radius: 999px;
    content: "";
    height: 6px;
    left: 8%;
    position: absolute;
    right: 8%;
    top: 10px;
}

.online-status-progress span {
    flex: 1;
    position: relative;
    z-index: 1;
}

.online-status-progress i {
    height: 26px;
    width: 26px;
}

.online-status-progress .done i::after,
.online-status-progress .active i::after {
    background: #22d3ee;
    border-radius: 999px;
    content: "";
    height: 6px;
    position: absolute;
    right: 18px;
    top: 8px;
    width: 999px;
    z-index: -1;
}

.online-status-progress span:first-child i::after {
    display: none;
}

@media (max-width: 760px) {
    .public-menu-header {
        align-items: flex-start;
        border-radius: 18px;
        padding: 14px;
    }

    .public-menu-header img {
        height: 58px;
        width: 58px;
    }

    .public-products {
        gap: 10px;
    }

    .public-product-card {
        grid-template-columns: 1fr auto;
        padding: 14px;
    }

    .public-add-cart {
        min-width: 98px;
    }

    .public-menu-grid {
        gap: 14px;
    }

    .public-cart {
        border-radius: 20px;
        padding: 16px;
    }

    .public-cart .public-cart-item {
        gap: 12px;
        grid-template-columns: 58px minmax(0, 1fr) 40px;
        padding: 12px;
    }

    .public-cart-media {
        border-radius: 12px;
    }

    .public-cart-body {
        gap: 10px;
    }

    .public-cart .public-cart-head {
        display: grid;
        gap: 4px;
    }

    .public-cart-quantity-row {
        align-items: start;
        display: grid;
    }

    .public-addon-option {
        grid-template-columns: 28px minmax(0, 1fr) auto;
        min-height: 44px;
    }

    .public-addon-qty {
        grid-column: 2 / -1;
        justify-self: start;
    }

    .public-addon-price {
        align-self: start;
    }

    .public-cart-summary span {
        gap: 10px;
    }

    .public-extra-panel {
        grid-template-columns: 1fr;
    }

    .public-status-card {
        border-radius: 22px;
        margin: 12px;
        padding: 18px;
    }

    .online-status-progress span b {
        font-size: 10px;
    }

    .online-status-progress::before {
        left: 12%;
        right: 12%;
    }
}

.plan-container {
    max-width: 900px;
    transform: translateY(-12px);
}

/* Cardápio online: carrinho flutuante e correções mobile */
.public-cart-toggle {
    align-items: center;
    background: linear-gradient(135deg, #22d3ee, #0ea5e9);
    border: 0;
    border-radius: 999px;
    box-shadow: 0 16px 40px #0891b255;
    color: #02111f;
    cursor: pointer;
    display: inline-flex;
    font-size: 20px;
    font-weight: 950;
    gap: 8px;
    min-height: 48px;
    padding: 10px 14px;
    position: fixed;
    right: 18px;
    top: 18px;
    z-index: 1200;
}

.public-cart-toggle b {
    background: #02111f;
    border-radius: 999px;
    color: #e0f2fe;
    font-size: 12px;
    min-width: 24px;
    padding: 4px 7px;
    text-align: center;
}

.public-cart-toggle.has-items {
    animation: cartPulse .45s ease;
}

@keyframes cartPulse {
    50% { transform: scale(1.08); }
}

.last-order-link {
    align-items: center;
    background: #0f1c30;
    border: 1px solid #2b4568;
    border-radius: 999px;
    color: #67e8f9;
    display: inline-flex;
    font-weight: 900;
    margin: 0 0 14px;
    padding: 10px 14px;
    text-decoration: none;
}

.public-menu-grid {
    grid-template-columns: 1fr;
}

.public-cart {
    bottom: 18px;
    max-height: calc(100dvh - 96px);
    max-width: 430px;
    overflow: auto;
    position: fixed;
    right: 18px;
    top: 84px;
    transform: translateX(calc(100% + 40px));
    transition: transform .22s ease, opacity .22s ease;
    width: calc(100vw - 36px);
    z-index: 1190;
}

.public-menu-grid.cart-open .public-cart {
    transform: translateX(0);
}

.public-cart-backdrop {
    background: #02061799;
    inset: 0;
    position: fixed;
    z-index: 1180;
}

.public-cart-title-row {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.public-cart-title-row h2 {
    margin: 0;
}

.public-cart-title-row button {
    background: #172235;
    border: 1px solid #2b4568;
    border-radius: 999px;
    color: #dbeafe;
    cursor: pointer;
    font-weight: 900;
    padding: 8px 12px;
}

.public-status-card,
.public-status-card * {
    max-width: 100%;
}

@media (max-width: 760px) {
    .public-menu-body {
        overflow-x: hidden;
    }

    .public-menu {
        padding: 10px;
    }

    .public-menu-header,
    .public-status-hero {
        align-items: center;
        display: grid;
        grid-template-columns: 74px minmax(0, 1fr);
        text-align: left;
    }

    .public-menu-header img,
    .public-status-hero img {
        height: 74px;
        width: 74px;
    }

    .public-menu-header h1,
    .public-status-hero h1 {
        font-size: 24px;
        overflow-wrap: anywhere;
    }

    .public-product-card {
        align-items: center;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .public-add-cart {
        font-size: 0;
        min-height: 42px;
        min-width: 42px;
        padding: 0;
        width: 42px;
    }

    .public-add-cart::before {
        content: "+";
        font-size: 24px;
    }

    .public-cart-toggle {
        right: 12px;
        top: 12px;
    }

    .public-cart {
        border-radius: 22px 22px 0 0;
        bottom: 0;
        left: 0;
        max-height: 86dvh;
        max-width: none;
        right: 0;
        top: auto;
        transform: translateY(calc(100% + 24px));
        width: 100%;
    }

    .public-menu-grid.cart-open .public-cart {
        transform: translateY(0);
    }

    .public-cart-item {
        grid-template-columns: 1fr;
    }

    .public-status-card {
        border-radius: 20px;
        margin: 10px;
        padding: 14px;
        width: auto;
    }

    .online-status-box {
        padding: 14px;
    }

    .online-status-box strong {
        font-size: 22px;
        overflow-wrap: anywhere;
    }

    .online-status-progress {
        gap: 6px;
        overflow: visible;
    }

    .online-status-progress span {
        min-width: 0;
    }

    .online-status-progress span b {
        display: block;
        font-size: 9px;
        line-height: 1.15;
        overflow-wrap: anywhere;
    }

    .online-status-progress i {
        height: 22px;
        width: 22px;
    }

    .public-order-summary li {
        grid-template-columns: 1fr;
    }
}

.plan-selection-card {
    padding: 26px 30px;
}

.plan-option {
    padding: 18px;
}

.plan-option h2 {
    font-size: 19px;
}

.plan-container .auth-logo-shell,
.registration-container .auth-logo-shell,
.login-container > .auth-logo-shell {
    height: 235px;
    margin-bottom: 4px;
    margin-top: -10px;
}

@media (max-width: 700px) {
    .notification-modal-header {
        align-items: stretch;
        flex-direction: column;
    }

    .notification-modal-close {
        align-self: flex-end;
    }

    .plan-container {
        transform: translateY(-4px);
    }

    .plan-selection-card {
        padding: 20px 16px;
    }

    .plan-container .auth-logo-shell,
    .registration-container .auth-logo-shell,
    .login-container > .auth-logo-shell {
        height: 205px;
        margin-top: -5px;
    }
}

/* Ajustes finais de responsividade mobile */
@media (max-width: 780px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    .app-shell {
        display: block;
        min-width: 0;
    }

    .main-content {
        max-width: 100%;
        min-width: 0;
        padding: 18px 12px 92px;
    }

    .topbar,
    .page-topbar,
    .section-title-row,
    .header-actions,
    .form-actions {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .topbar h1,
    .page-topbar h1,
    .main-content h1,
    .form-panel h1,
    .table-panel h1 {
        font-size: clamp(24px, 7vw, 34px);
        line-height: 1.12;
        overflow-wrap: anywhere;
    }

    .metric-grid,
    .account-grid,
    .form-grid,
    .dashboard-grid,
    .summary-grid,
    .plan-options,
    .registration-form {
        grid-template-columns: 1fr !important;
    }

    .form-panel,
    .table-panel,
    .metric-card,
    .empty-panel,
    .login-card,
    .plan-selection-card,
    .registration-card {
        border-radius: 18px;
        max-width: 100%;
        padding: 18px;
    }

    input,
    select,
    textarea,
    button,
    .button-primary,
    .button-secondary,
    .button-danger {
        max-width: 100%;
    }

    .table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
    }

    table {
        min-width: 680px;
    }

    .category-tabs {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 4px;
        white-space: nowrap;
    }

    .public-menu {
        padding: 12px;
    }

    .public-menu-header {
        border-radius: 22px;
        gap: 12px;
        grid-template-columns: 72px minmax(0, 1fr);
        padding: 12px;
    }

    .public-menu-header img {
        height: 72px;
        width: 72px;
    }

    .public-products {
        gap: 10px;
    }

    .public-product-card {
        border-radius: 18px;
        gap: 12px;
        padding: 14px;
    }

    .public-cart {
        max-width: none;
    }

    .public-cart .form-grid,
    .public-cart-item {
        grid-template-columns: 1fr !important;
    }

    .public-cart-qty,
    .public-cart-item input,
    .public-cart-item select,
    .public-cart-item textarea {
        width: 100%;
    }

    .public-menu-link-actions > * {
        flex: 1 1 100%;
        justify-content: center;
        text-align: center;
    }

    .public-order-confirm-box {
        border-radius: 20px;
        padding: 20px;
    }

    .order-confirm-items > li {
        grid-template-columns: 1fr;
    }
}

/* Login/branding: logo inteira e fundo animado em desktop e mobile */
.login-page {
    background-size: 140% 140%, 150% 150%, 100% 100% !important;
    animation: nith-auth-bg-pan 16s ease-in-out infinite alternate;
}

@keyframes nith-auth-bg-pan {
    0% { background-position: 0% 0%, 100% 100%, center; }
    50% { background-position: 22% 12%, 78% 68%, center; }
    100% { background-position: 8% 24%, 92% 76%, center; }
}

@media (min-width: 901px) {
    .plan-container {
        max-width: min(1220px, calc(100vw - 96px));
        width: 100%;
    }

    .plan-selection-card {
        max-width: none;
        padding: 34px 42px;
        width: 100%;
    }

    .plan-options {
        gap: 24px;
        grid-template-columns: repeat(3, minmax(280px, 1fr));
    }

    .plan-option {
        min-width: 0;
        padding: 24px;
    }
}

.login-container > .auth-logo-shell,
.registration-container .auth-logo-shell,
.plan-container .auth-logo-shell {
    align-items: center;
    display: flex;
    height: clamp(140px, 24vw, 250px);
    justify-content: center;
    margin: 0 auto 10px;
    max-width: min(92vw, 560px);
    overflow: visible;
    width: 100%;
}

.login-container > .auth-logo-shell .auth-page-logo,
.registration-container .auth-logo-shell .auth-page-logo,
.plan-container .auth-logo-shell .auth-page-logo {
    height: 100%;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    transform: none !important;
    width: 100%;
}

@media (min-width: 781px) {
    .login-container > .auth-logo-shell,
    .registration-container .auth-logo-shell,
    .plan-container .auth-logo-shell {
        height: 260px;
        max-width: 640px;
    }

    .login-container {
        max-width: 560px;
    }
}

@media (max-width: 780px) {
    .login-page {
        align-items: start;
        padding: 16px 10px 22px;
    }

    .login-container,
    .registration-container,
    .plan-container {
        max-width: 100%;
    }

    .login-container > .auth-logo-shell,
    .registration-container .auth-logo-shell,
    .plan-container .auth-logo-shell {
        height: clamp(128px, 37vw, 178px);
        margin-bottom: 2px;
        margin-top: -10px;
        max-width: 100vw;
    }

    .login-container > .auth-logo-shell .auth-page-logo,
    .registration-container .auth-logo-shell .auth-page-logo,
    .plan-container .auth-logo-shell .auth-page-logo {
        width: 112%;
    }

    .auth-logo-shell::after {
        inset: 20% 8%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-page {
        animation: none !important;
    }
}

@media (min-width: 901px) {
    .login-container.plan-container {
        max-width: min(1220px, calc(100vw - 96px)) !important;
        width: 100%;
    }

    .login-container.plan-container .plan-selection-card {
        max-width: none !important;
        width: 100%;
    }
}

/* Landing pública NITH - versão comercial */
.download-landing {
    background:
        radial-gradient(circle at 72% 18%, rgba(37, 99, 235, .36), transparent 34%),
        radial-gradient(circle at 20% 45%, rgba(14, 165, 233, .24), transparent 33%),
        linear-gradient(135deg, #020617 0%, #07111f 50%, #020617 100%) !important;
    color: #f8fafc;
    overflow-x: hidden;
}

.download-landing::before,
.download-landing::after {
    content: "";
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.download-landing::before {
    background:
        linear-gradient(115deg, transparent 0 35%, rgba(14, 165, 233, .22) 36%, transparent 37% 100%),
        linear-gradient(125deg, transparent 0 52%, rgba(37, 99, 235, .18) 53%, transparent 54% 100%);
    filter: blur(.2px);
    height: 70vh;
    right: -18vw;
    top: 12vh;
    transform: rotate(-8deg);
    width: 75vw;
}

.download-landing::after {
    animation: nithLandingGlow 12s ease-in-out infinite alternate;
    background: radial-gradient(circle, rgba(34, 211, 238, .28), transparent 56%);
    bottom: -220px;
    height: 520px;
    left: 8vw;
    width: 520px;
}

@keyframes nithLandingGlow {
    from {
        opacity: .42;
        transform: translate3d(0, 0, 0) scale(.9);
    }
    to {
        opacity: .9;
        transform: translate3d(8vw, -4vh, 0) scale(1.12);
    }
}

.download-hero {
    max-width: 1440px !important;
    padding: clamp(18px, 3.2vw, 44px) clamp(18px, 4.6vw, 72px) !important;
    position: relative;
    z-index: 1;
}

.download-nav {
    gap: 20px;
    margin-bottom: clamp(42px, 7vw, 92px) !important;
}

.download-brand {
    align-items: center;
    border: 0 !important;
    box-shadow: none !important;
    display: inline-flex;
    padding: 0 !important;
}

.download-nav .download-brand img,
.download-nav img {
    filter: drop-shadow(0 0 22px rgba(14, 165, 233, .34));
    max-height: 74px;
    width: clamp(190px, 16vw, 290px) !important;
}

.download-nav-links {
    background: rgba(2, 6, 23, .32);
    border: 1px solid rgba(148, 163, 184, .12);
    border-radius: 999px;
    gap: 4px !important;
    padding: 6px;
}

.download-nav .download-nav-item {
    background: transparent;
    border: 0;
    border-radius: 999px;
    box-shadow: none;
    color: #f8fafc;
    font-size: 15px;
    padding: 11px 16px;
    position: relative;
}

.download-nav .download-nav-item.active,
.download-nav .download-nav-item:hover {
    background: rgba(14, 165, 233, .15);
    color: #fff;
}

.download-nav .download-nav-item.active::after {
    background: #0ea5e9;
    border-radius: 999px;
    bottom: -7px;
    content: "";
    height: 2px;
    left: 22%;
    position: absolute;
    width: 56%;
}

.download-nav-actions {
    align-items: center;
    display: flex;
    gap: 12px;
}

.download-enter-link {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #fff !important;
    padding: 12px 16px !important;
}

.download-login-link {
    background: linear-gradient(135deg, #0ea5e9, #2563eb) !important;
    border-radius: 10px !important;
    color: #fff !important;
    min-height: 48px;
    padding: 13px 24px !important;
}

.download-hero-showcase {
    grid-template-columns: minmax(360px, .85fr) minmax(560px, 1.15fr) !important;
    min-height: 600px;
}

.download-copy h1 {
    color: #fff;
    font-size: clamp(46px, 5vw, 78px) !important;
    letter-spacing: -.06em;
    line-height: 1.02 !important;
    max-width: 760px;
    text-shadow: 0 18px 48px rgba(0, 0, 0, .45);
}

.download-copy h1 strong {
    background: linear-gradient(135deg, #38bdf8, #2563eb);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.download-copy > p {
    color: #e2e8f0 !important;
    font-size: clamp(18px, 1.7vw, 22px) !important;
    line-height: 1.65 !important;
    max-width: 660px;
}

.download-benefits {
    color: #f8fafc;
    display: flex;
    flex-wrap: wrap;
    gap: 18px 26px;
    font-weight: 800;
    margin: 28px 0 0;
}

.download-benefits span {
    align-items: center;
    color: #f8fafc;
    display: inline-flex;
    gap: 8px;
}

.download-benefits span::first-letter {
    color: #0ea5e9;
}

.download-actions {
    gap: 14px !important;
    margin: 32px 0 !important;
}

.download-main-button {
    background: linear-gradient(135deg, #0ea5e9, #2563eb) !important;
    border-radius: 10px !important;
    color: #fff !important;
    min-height: 58px;
    padding: 0 24px !important;
}

.download-main-button span {
    background: transparent !important;
    color: #fff;
    font-size: 22px;
    height: auto !important;
    width: auto !important;
}

.download-secondary-button {
    background: rgba(2, 6, 23, .46) !important;
    border: 1px solid rgba(125, 211, 252, .3) !important;
    border-radius: 10px !important;
    color: #fff !important;
    min-height: 58px;
}

.download-audience-row {
    border-top: 1px solid rgba(148, 163, 184, .12);
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 34px;
    padding-top: 26px;
}

.download-audience-item {
    align-items: center;
    color: #f8fafc;
    display: inline-flex;
    font-weight: 900;
    gap: 10px;
    text-decoration: none;
}

.download-audience-item i,
.download-feature-strip i {
    align-items: center;
    background: rgba(14, 165, 233, .1);
    border: 1px solid rgba(14, 165, 233, .58);
    border-radius: 999px;
    box-shadow: inset 0 0 28px rgba(14, 165, 233, .12), 0 16px 34px rgba(14, 165, 233, .12);
    color: #38bdf8;
    display: inline-flex;
    font-style: normal;
    font-weight: 950;
    height: 50px;
    justify-content: center;
    width: 50px;
}

.download-device-scene {
    min-height: 570px;
    perspective: 1200px;
    position: relative;
}

.download-laptop {
    bottom: 10px;
    filter: drop-shadow(0 38px 64px rgba(0, 0, 0, .62));
    position: absolute;
    right: 4%;
    transform: rotateX(4deg) rotateY(-8deg) rotateZ(-2deg);
    width: min(760px, 92%);
}

.download-device-screen {
    background: linear-gradient(145deg, #0b1728, #020617);
    border: 9px solid #05070c;
    border-radius: 26px 26px 12px 12px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .24), inset 0 0 45px rgba(14, 165, 233, .12);
    display: grid;
    grid-template-columns: 150px 1fr;
    min-height: 430px;
    overflow: hidden;
}

.download-device-screen aside {
    background: rgba(2, 6, 23, .75);
    border-right: 1px solid rgba(125, 211, 252, .12);
    display: grid;
    gap: 14px;
    padding: 34px 18px;
}

.download-device-screen aside b {
    color: #fff;
    letter-spacing: .05em;
}

.download-device-screen aside span {
    background: rgba(15, 23, 42, .95);
    border-radius: 10px;
    height: 38px;
}

.download-device-screen aside span.active {
    background: linear-gradient(135deg, #0ea5e9, #1d4ed8);
}

.download-device-screen section {
    background: radial-gradient(circle at 82% 12%, rgba(14, 165, 233, .18), transparent 34%);
    padding: 34px;
}

.download-device-screen small {
    color: #f8fafc;
    display: block;
    font-size: 26px;
    font-weight: 950;
    margin-bottom: 4px;
}

.download-device-screen h2 {
    color: #cbd5e1;
    font-size: 14px;
    margin: 0 0 24px;
}

.download-preview-metrics {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.download-preview-metrics span,
.download-preview-panel,
.download-phone strong,
.download-phone-grid i {
    background: rgba(15, 28, 48, .88);
    border: 1px solid rgba(125, 211, 252, .13);
    border-radius: 13px;
}

.download-preview-metrics span {
    color: #fff;
    display: grid;
    gap: 8px;
    min-height: 86px;
    padding: 16px;
}

.download-preview-metrics b {
    font-size: 20px;
}

.download-preview-metrics em {
    color: #94a3b8;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.download-preview-panel {
    height: 118px;
    margin-top: 22px;
}

.download-laptop-base {
    background: linear-gradient(180deg, #94a3b8, #1f2937 52%, #020617);
    border-radius: 0 0 34px 34px;
    height: 28px;
    margin: 0 auto;
    width: 86%;
}

.download-phone {
    background: linear-gradient(160deg, #101827, #020617);
    border: 8px solid #090b10;
    border-radius: 38px;
    bottom: -2px;
    box-shadow: 0 32px 70px rgba(0, 0, 0, .64), 0 0 0 1px rgba(255, 255, 255, .18);
    color: #fff;
    min-height: 410px;
    padding: 42px 22px 22px;
    position: absolute;
    right: 0;
    width: 218px;
}

.download-phone-notch {
    background: #030712;
    border-radius: 0 0 14px 14px;
    height: 20px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 86px;
}

.download-phone h3 {
    font-size: 24px;
    margin: 0 0 20px;
}

.download-phone span {
    color: #94a3b8;
    display: block;
    font-size: 11px;
    font-weight: 900;
    margin: 14px 0 6px;
    text-transform: uppercase;
}

.download-phone strong {
    display: block;
    font-size: 22px;
    padding: 14px;
}

.download-phone-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr 1fr;
    margin-top: 14px;
}

.download-phone-grid i {
    display: block;
    height: 70px;
}

.download-feature-strip {
    background: rgba(15, 28, 48, .72);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 20px;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .32);
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: clamp(26px, 4vw, 52px);
    overflow: hidden;
}

.download-feature-strip article {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: auto 1fr;
    padding: 24px;
}

.download-feature-strip article + article {
    border-left: 1px solid rgba(148, 163, 184, .14);
}

.download-feature-strip h2 {
    color: #fff;
    font-size: 17px;
    margin: 0 0 6px;
}

.download-feature-strip p {
    color: #e2e8f0;
    line-height: 1.55;
    margin: 0;
}

.download-centered-title {
    justify-content: center;
    text-align: center;
}

.download-centered-title h2 {
    color: #fff;
    font-size: clamp(30px, 3.6vw, 48px);
    letter-spacing: -.04em;
    margin-bottom: 8px;
}

.download-centered-title p {
    color: #cbd5e1;
    font-size: 18px;
}

.download-plan-grid {
    gap: 20px !important;
}

.download-plan-grid .download-plan-card {
    border-radius: 18px !important;
    min-height: 100%;
    padding: 28px !important;
}

.download-plan-card.green {
    border-color: rgba(16, 185, 129, .55) !important;
}

.download-plan-card.blue {
    border-color: rgba(14, 165, 233, .55) !important;
}

.download-plan-card.purple {
    border-color: rgba(168, 85, 247, .55) !important;
}

.download-plan-header {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.download-plan-grid .download-plan-card span {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    letter-spacing: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
}

.download-plan-card.green .download-plan-header span {
    color: #86efac !important;
}

.download-plan-card.blue .download-plan-header span {
    color: #93c5fd !important;
}

.download-plan-card.purple .download-plan-header span {
    color: #c084fc !important;
}

.download-plan-header i {
    background: rgba(34, 197, 94, .16);
    border-radius: 999px;
    color: #bbf7d0;
    flex: 0 0 auto;
    font-size: 12px;
    font-style: normal;
    font-weight: 900;
    padding: 8px 12px;
}

.download-plan-card.blue .download-plan-header i {
    background: rgba(14, 165, 233, .16);
    color: #bae6fd;
}

.download-plan-card.purple .download-plan-header i {
    background: rgba(168, 85, 247, .16);
    color: #e9d5ff;
}

.download-plan-grid .download-plan-card h3 {
    color: #fff !important;
    font-size: 25px !important;
    line-height: 1.12 !important;
    margin-top: 12px !important;
}

.download-plan-grid .download-plan-card p,
.download-plan-grid .download-plan-card li {
    color: #f1f5f9 !important;
    font-size: 15.5px;
    line-height: 1.68;
}

.download-plan-card ul {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
}

.download-plan-card li {
    padding-left: 24px;
    position: relative;
}

.download-plan-card li::before {
    color: #22c55e;
    content: "✓";
    font-weight: 950;
    left: 0;
    position: absolute;
}

.download-plan-card.blue li::before {
    color: #38bdf8;
}

.download-plan-card.purple li::before {
    color: #a78bfa;
}

.download-plan-grid .download-plan-card .download-plan-cta {
    border-radius: 12px !important;
    color: #fff !important;
    margin-top: auto !important;
}

.download-app-section,
.download-contact-section {
    align-items: center;
    background:
        radial-gradient(circle at top right, rgba(14, 165, 233, .18), transparent 38%),
        rgba(15, 28, 48, .76);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 24px;
    display: grid;
    gap: 24px;
    grid-template-columns: 1.2fr .8fr;
    padding: clamp(24px, 4vw, 42px);
}

.download-app-section h2,
.download-contact-section h2 {
    color: #fff;
    font-size: clamp(28px, 3vw, 42px);
    margin: 12px 0;
}

.download-app-section p,
.download-contact-section p {
    color: #e2e8f0;
    font-size: 17px;
    line-height: 1.65;
}

@media (max-width: 1120px) {
    .download-nav {
        align-items: flex-start;
        flex-direction: column;
    }

    .download-nav-links,
    .download-nav-actions {
        width: 100%;
    }

    .download-nav-actions {
        justify-content: flex-start;
    }

    .download-hero-showcase {
        grid-template-columns: 1fr !important;
    }

    .download-device-scene {
        min-height: 520px;
    }

    .download-laptop {
        left: 0;
        right: auto;
        width: min(720px, 86%);
    }
}

@media (max-width: 920px) {
    .download-feature-strip,
    .download-plan-grid,
    .download-app-section,
    .download-contact-section {
        grid-template-columns: 1fr !important;
    }

    .download-feature-strip article + article {
        border-left: 0;
        border-top: 1px solid rgba(148, 163, 184, .14);
    }
}

@media (max-width: 680px) {
    .download-hero {
        padding: 16px 14px 32px !important;
    }

    .download-nav-links {
        border-radius: 18px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .download-nav .download-nav-item {
        text-align: center;
    }

    .download-nav-actions,
    .download-actions,
    .download-audience-row {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .download-enter-link,
    .download-login-link,
    .download-main-button,
    .download-secondary-button {
        justify-content: center;
        width: 100%;
    }

    .download-copy h1 {
        font-size: clamp(40px, 13vw, 58px) !important;
    }

    .download-device-scene {
        min-height: 430px;
    }

    .download-laptop {
        transform: none;
        width: 100%;
    }

    .download-device-screen {
        border-width: 5px;
        grid-template-columns: 86px 1fr;
        min-height: 330px;
    }

    .download-device-screen aside {
        padding: 20px 10px;
    }

    .download-device-screen section {
        padding: 20px 14px;
    }

    .download-preview-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .download-phone {
        bottom: -18px;
        min-height: 300px;
        padding: 34px 14px 14px;
        right: 6px;
        transform: scale(.82);
        transform-origin: bottom right;
        width: 170px;
    }

    .download-plan-header {
        flex-direction: column;
    }
}

/* Home compacta NITH */
.nith-home {
    min-height: 100vh;
}

.nith-home-shell {
    margin: 0 auto;
    max-width: 1540px;
    padding: clamp(16px, 2.8vw, 40px) clamp(16px, 4vw, 72px) 24px;
    position: relative;
    z-index: 1;
}

.nith-home-nav {
    align-items: center;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(420px, 1fr) auto;
    margin-bottom: clamp(20px, 3vw, 44px);
}

.nith-home-brand {
    align-items: center;
    display: inline-flex;
    text-decoration: none;
}

.nith-home-brand img {
    filter: drop-shadow(0 0 20px rgba(14, 165, 233, .34));
    height: auto;
    max-height: 70px;
    object-fit: contain;
    width: clamp(280px, 28vw, 520px);
}

.nith-home-brand-center {
    display: flex;
    justify-content: center;
    margin: -12px auto 8px;
    max-width: 620px;
    width: 100%;
}

.nith-home-tabs {
    align-items: center;
    background: rgba(2, 6, 23, .34);
    border: 1px solid rgba(148, 163, 184, .12);
    border-radius: 999px;
    display: flex;
    gap: 4px;
    justify-content: center;
    justify-self: center;
    padding: 6px;
}

.nith-home-tabs button,
.nith-home-quick button,
.nith-home-quick a {
    appearance: none;
    background: transparent;
    border: 0;
    color: #f8fafc;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    text-decoration: none;
}

.nith-home-tabs button {
    border-radius: 999px;
    font-size: 15px;
    padding: 11px 15px;
    position: relative;
}

.nith-home-tabs button:hover,
.nith-home-tabs button.active {
    background: rgba(14, 165, 233, .16);
    color: #fff;
}

.nith-home-tabs button.active::after {
    background: #0ea5e9;
    border-radius: 999px;
    bottom: -7px;
    content: "";
    height: 2px;
    left: 24%;
    position: absolute;
    width: 52%;
}

.nith-home-actions {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.nith-home-enter,
.nith-home-primary,
.nith-home-logout,
.nith-panel-button {
    align-items: center;
    border-radius: 12px;
    display: inline-flex;
    font-weight: 950;
    justify-content: center;
    min-height: 48px;
    padding: 0 22px;
    text-decoration: none;
}

.nith-home-enter {
    background: rgba(15, 23, 42, .62);
    border: 1px solid rgba(125, 211, 252, .26);
    color: #fff;
}

.nith-home-panel-link {
    background: linear-gradient(135deg, #14b8a6, #0ea5e9);
    border: 0;
    box-shadow: 0 16px 42px rgba(14, 165, 233, .28);
    color: #02111f;
}

.nith-home-logout {
    background: rgba(239, 68, 68, .12);
    border: 1px solid rgba(248, 113, 113, .35);
    color: #fecaca;
}

.nith-home-primary,
.nith-panel-button {
    background: linear-gradient(135deg, #0ea5e9, #2563eb);
    box-shadow: 0 18px 48px rgba(37, 99, 235, .34);
    color: #fff;
}

.nith-home-stage {
    align-items: center;
    display: grid;
    gap: clamp(24px, 4vw, 70px);
    grid-template-columns: minmax(360px, .82fr) minmax(520px, 1.18fr);
    min-height: clamp(480px, 56vh, 680px);
}

.nith-home-copy {
    max-width: 680px;
}

.nith-home-kicker {
    background: rgba(14, 165, 233, .1);
    border: 1px solid rgba(14, 165, 233, .42);
    border-radius: 999px;
    color: #38bdf8;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .06em;
    padding: 9px 14px;
    text-transform: uppercase;
}

.nith-home-copy h1 {
    color: #fff;
    font-size: clamp(42px, 4.9vw, 76px);
    letter-spacing: -.06em;
    line-height: 1.03;
    margin: 20px 0;
}

.nith-home-copy h1 strong {
    background: linear-gradient(135deg, #38bdf8, #2563eb);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.nith-home-copy p {
    color: #e2e8f0;
    font-size: clamp(17px, 1.5vw, 22px);
    line-height: 1.65;
}

.nith-home-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.nith-home-quick button,
.nith-home-quick a {
    border: 1px solid rgba(125, 211, 252, .24);
    border-radius: 12px;
    min-height: 54px;
    padding: 0 22px;
}

.nith-home-quick a {
    align-items: center;
    background: linear-gradient(135deg, #0ea5e9, #2563eb);
    box-shadow: 0 18px 48px rgba(37, 99, 235, .34);
    display: inline-flex;
}

.nith-home-quick button:hover,
.nith-home-quick a:hover,
.nith-home-enter:hover,
.nith-home-primary:hover,
.nith-home-logout:hover,
.nith-panel-button:hover {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.nith-home-art {
    margin: -7vw -5vw -5vw -3vw;
    position: relative;
}

.nith-home-art img {
    display: block;
    filter: drop-shadow(0 36px 70px rgba(0, 0, 0, .55));
    height: auto;
    max-height: min(76vh, 820px);
    object-fit: contain;
    object-position: center;
    width: 112%;
}

.nith-home-panel {
    background:
        radial-gradient(circle at top right, rgba(14, 165, 233, .16), transparent 36%),
        rgba(15, 28, 48, .72);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 24px;
    box-shadow: 0 28px 72px rgba(0, 0, 0, .34);
    min-height: 270px;
    padding: clamp(22px, 3vw, 34px);
}

.nith-tab-panel {
    display: none;
}

.nith-tab-panel.active {
    animation: nithPanelFade .18s ease-out;
    display: block;
}

@keyframes nithPanelFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.nith-panel-head {
    margin-bottom: 18px;
}

.nith-panel-head span {
    color: #38bdf8;
    display: block;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.nith-panel-head h2 {
    color: #fff;
    font-size: clamp(24px, 2.6vw, 38px);
    letter-spacing: -.035em;
    line-height: 1.12;
    margin: 0;
    max-width: 980px;
}

.nith-feature-grid,
.nith-plan-strip {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nith-plan-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nith-feature-grid > div,
.nith-plan-box,
.nith-resource-panel {
    background: rgba(2, 6, 23, .32);
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 18px;
    padding: 20px;
}

.nith-feature-grid b,
.nith-plan-box h3,
.nith-resource-panel h3 {
    color: #fff;
    display: block;
    font-size: 20px;
    margin-bottom: 8px;
}

.nith-feature-grid p,
.nith-plan-box p,
.nith-resource-panel p,
.nith-panel-text {
    color: #e2e8f0;
    font-size: 16px;
    line-height: 1.66;
    margin: 0;
}

.nith-plan-box {
    display: flex;
    flex-direction: column;
}

.nith-plan-strip-full .nith-plan-box {
    background:
        radial-gradient(circle at top right, rgba(34, 211, 238, .16), transparent 42%),
        linear-gradient(160deg, #151f32, #08111f);
    border-radius: 22px;
    min-height: 100%;
    padding: 28px;
}

.nith-plan-strip-full .nith-plan-box:nth-child(1) {
    border-color: rgba(16, 185, 129, .62);
}

.nith-plan-strip-full .nith-plan-box:nth-child(2) {
    border-color: rgba(14, 165, 233, .62);
}

.nith-plan-strip-full .nith-plan-box:nth-child(3) {
    border-color: rgba(168, 85, 247, .62);
}

.nith-plan-box > span {
    color: #38bdf8;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.nith-plan-box strong {
    color: #67e8f9;
    display: block;
    font-size: clamp(34px, 3.4vw, 48px);
    letter-spacing: -.04em;
    margin: 8px 0 12px;
}

.nith-plan-box small {
    color: #cbd5e1;
    font-size: 14px;
    letter-spacing: 0;
}

.nith-plan-box a {
    align-items: center;
    background: linear-gradient(135deg, #13d6a0, #0ea5e9 58%, #2563eb);
    border-radius: 12px;
    color: #02111f;
    display: inline-flex;
    font-weight: 950;
    justify-content: center;
    margin-top: auto;
    min-height: 48px;
    text-decoration: none;
}

.nith-plan-box ul {
    display: grid;
    gap: 10px;
    list-style: none;
    margin: 18px 0 24px;
    padding: 0;
}

.nith-plan-box li {
    color: #f8fafc;
    line-height: 1.5;
    padding-left: 24px;
    position: relative;
}

.nith-plan-box li::before {
    color: #22c55e;
    content: "✓";
    font-weight: 950;
    left: 0;
    position: absolute;
}

.nith-plan-box:nth-child(2) li::before {
    color: #38bdf8;
}

.nith-plan-box:nth-child(3) li::before {
    color: #a78bfa;
}

.nith-resource-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px;
}

.nith-resource-tabs button {
    background: rgba(2, 6, 23, .32);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 999px;
    color: #f8fafc;
    cursor: pointer;
    font: inherit;
    font-weight: 950;
    padding: 11px 16px;
}

.nith-resource-tabs button.active {
    background: linear-gradient(135deg, #13d6a0, #0ea5e9);
    color: #02111f;
}

.nith-resource-panel {
    display: none;
}

.nith-resource-panel.active {
    display: block;
}

.nith-resource-panel ul {
    columns: 2;
    gap: 28px;
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
}

.nith-resource-panel li {
    break-inside: avoid;
    color: #f8fafc;
    line-height: 1.55;
    margin: 0 0 10px;
    padding-left: 22px;
    position: relative;
}

.nith-resource-panel li::before {
    background: #22d3ee;
    border-radius: 999px;
    content: "";
    height: 7px;
    left: 2px;
    position: absolute;
    top: .63em;
    width: 7px;
}

.nith-panel-button {
    margin-top: 18px;
}

.nith-home-footer {
    color: #94a3b8;
    font-size: 14px;
    padding: 20px 0 0;
    text-align: center;
}

.terms-accept-option {
    align-items: center;
    background: rgba(15, 23, 42, .42);
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 14px;
    display: flex !important;
    flex-direction: row !important;
    gap: 10px;
    padding: 12px;
}

.terms-accept-option input {
    min-height: auto !important;
    width: auto !important;
}

.text-button {
    background: transparent;
    border: 0;
    color: #67e8f9;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    padding: 0;
}

.terms-modal-backdrop {
    align-items: center;
    background: rgba(2, 6, 23, .78);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 100;
}

.terms-modal-backdrop[hidden] {
    display: none;
}

.terms-modal,
.legal-card {
    background: linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(15, 35, 62, .94));
    border: 1px solid rgba(125, 211, 252, .22);
    border-radius: 22px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
    color: #e2e8f0;
    max-height: min(76vh, 680px);
    max-width: 680px;
    overflow-y: auto;
    padding: clamp(22px, 4vw, 36px);
    scrollbar-color: rgba(56, 189, 248, .55) rgba(15, 23, 42, .52);
    width: 100%;
}

.online-order-card-inline {
    max-height: calc(100vh - 48px);
    max-width: none;
}

.online-order-card-inline.is-accepted {
    border-color: rgba(34, 197, 94, .55);
}

.online-order-card-head {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.online-order-card-head span {
    color: #67e8f9;
    display: block;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.online-order-card-head h2 {
    margin: 2px 0 0;
}

.online-order-card-head strong {
    color: #67e8f9;
    font-size: 1.1rem;
    white-space: nowrap;
}

.terms-modal h2,
.legal-card h1 {
    color: #fff;
    margin-top: 0;
}

.terms-modal p,
.legal-card p {
    color: #dbeafe;
    line-height: 1.65;
}

.terms-modal-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 20px;
}

.terms-modal-actions a {
    background: rgba(15, 23, 42, .7);
    border: 1px solid rgba(148, 163, 184, .28);
    color: #e2e8f0;
}

.legal-page {
    background: radial-gradient(circle at 50% 0, #12365a 0, #07111f 42%, #020617 100%);
    color: #fff;
    min-height: 100vh;
}

.legal-shell {
    display: grid;
    gap: 24px;
    margin: 0 auto;
    max-width: 900px;
    min-height: 100vh;
    padding: clamp(28px, 6vw, 72px) 18px;
    place-items: center;
}

.legal-logo img {
    display: block;
    height: auto;
    max-width: min(320px, 72vw);
}

.legal-card span {
    color: #67e8f9;
    display: block;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .08em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

@media (max-width: 720px) {

.nith-home-actions {
        gap: 8px;
    }

    .nith-home-logout {
        min-height: 44px;
        padding: 0 16px;
    }
}

/* Ajustes finais: home logada e modais legais */
.nith-home-icon-action {
    align-items: center;
    border-radius: 14px;
    display: inline-flex;
    height: 44px;
    justify-content: center;
    text-decoration: none;
    transition: transform .18s ease, filter .18s ease, border-color .18s ease, background .18s ease;
    width: 44px;
}

.nith-home-icon-action svg {
    fill: none;
    height: 20px;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    width: 20px;
}

.nith-home-icon-action.nith-home-panel-link {
    background: rgba(14, 165, 233, .12);
    border: 1px solid rgba(56, 189, 248, .26);
    color: #7dd3fc;
}

.nith-home-icon-action.nith-home-logout {
    background: rgba(248, 113, 113, .08);
    border: 1px solid rgba(248, 113, 113, .22);
    color: #fca5a5;
}

.nith-home-icon-action:hover {
    border-color: rgba(125, 211, 252, .48);
    filter: brightness(1.08);
    transform: translateY(-2px);
}

.account-footer button,
.nith-home-footer button {
    background: transparent;
    border: 0;
    color: #94a3b8;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    padding: 0;
    text-decoration: none;
}

.account-footer button:hover,
.nith-home-footer button:hover {
    color: #e2e8f0;
}

.inline-legal-modal {
    align-items: center;
    background: rgba(2, 6, 23, .72);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 18px;
    position: fixed;
    z-index: 100;
}

.inline-legal-modal[hidden] {
    display: none;
}

.inline-legal-card {
    background: linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(15, 35, 62, .96));
    border: 1px solid rgba(125, 211, 252, .24);
    border-radius: 24px;
    box-shadow: 0 36px 100px rgba(0, 0, 0, .48);
    color: #dbeafe;
    max-height: min(76vh, 680px);
    max-width: min(680px, calc(100vw - 28px));
    overflow-y: auto;
    padding: clamp(24px, 4vw, 38px);
    position: relative;
    scrollbar-color: rgba(56, 189, 248, .55) rgba(15, 23, 42, .52);
    width: 100%;
}

.inline-legal-card span {
    color: #67e8f9;
    display: block;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.inline-legal-card h2 {
    color: #fff;
    margin: 0 44px 14px 0;
}

.inline-legal-card p {
    color: #dbeafe;
    line-height: 1.65;
}

.inline-legal-card h3,
.inline-legal-card h4,
.legal-card h3,
.legal-card h4 {
    color: #f8fafc;
    margin: 22px 0 10px;
}

.inline-legal-card ul,
.legal-card ul {
    color: #dbeafe;
    line-height: 1.65;
    margin: 0 0 12px 20px;
    padding: 0;
}

.terms-modal {
    max-height: min(76vh, 680px);
    overflow-y: auto;
}

.terms-modal-actions button,
.terms-modal-actions a,
.legal-back {
    align-items: center;
    border-radius: 12px;
    display: inline-flex;
    font-weight: 900;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    text-decoration: none;
}

.terms-modal-actions button:not(.button-secondary),
.legal-back {
    background: linear-gradient(135deg, #14b8a6, #0ea5e9);
    border: 0;
    color: #02111f;
}

.terms-modal-actions .button-secondary,
.terms-modal-actions a {
    background: rgba(15, 23, 42, .7);
    border: 1px solid rgba(148, 163, 184, .28);
    color: #e2e8f0;
}

.inline-legal-close {
    align-items: center;
    background: rgba(15, 23, 42, .8);
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 999px;
    color: #e2e8f0;
    cursor: pointer;
    display: inline-flex;
    font-size: 24px;
    height: 38px;
    justify-content: center;
    position: absolute;
    right: 18px;
    top: 18px;
    width: 38px;
}

.terms-modal-error {
    color: #fca5a5 !important;
    font-weight: 800;
    margin-top: 10px !important;
}

@media (max-width: 560px) {
    .nith-home-icon-action {
        height: 46px;
        width: 46px;
    }

}

@media (max-width: 1180px) {
    .nith-home-nav {
        grid-template-columns: 1fr;
    }

    .nith-home-tabs {
        justify-self: stretch;
        overflow-x: auto;
        justify-content: flex-start;
    }

    .nith-home-actions {
        justify-content: flex-start;
    }

    .nith-home-stage {
        grid-template-columns: 1fr;
    }

    .nith-home-art {
        margin: 0;
    }

    .nith-home-art img {
        max-height: 520px;
        width: 100%;
    }
}

@media (max-width: 840px) {
    .nith-feature-grid,
    .nith-plan-strip {
        grid-template-columns: 1fr;
    }

    .nith-resource-panel ul {
        columns: 1;
    }
}

@media (max-width: 620px) {
    .nith-home-shell {
        padding: 14px;
    }

    .nith-home-brand img {
        width: min(92vw, 380px);
    }

    .nith-home-brand-center {
        margin-top: 2px;
    }

    .nith-home-actions,
    .nith-home-quick {
        display: grid;
        grid-template-columns: 1fr;
    }

    .nith-home-enter,
    .nith-home-primary,
    .nith-home-quick button,
    .nith-home-quick a {
        justify-content: center;
        width: 100%;
    }

    .nith-home-stage {
        min-height: auto;
    }

    .nith-home-copy h1 {
        font-size: clamp(36px, 12vw, 52px);
    }

    .nith-home-art img {
        margin: 0 -10%;
        max-height: none;
        width: 120%;
    }

    .nith-home-panel {
        border-radius: 18px;
        padding: 18px;
    }
}

/* Sidebar compacta com ícones no desktop */
@media (min-width: 901px) {
    .app-shell .sidebar {
        flex: 0 0 258px;
        padding: 20px 16px;
        width: 258px;
    }

    .app-shell .sidebar-brand {
        align-items: center;
        display: flex;
        justify-content: flex-start;
        gap: 11px;
        margin-bottom: 18px;
        min-height: 52px;
        padding: 0 8px 16px;
        text-align: left;
    }

    .app-shell .sidebar-brand strong {
        display: block;
        font-size: .94rem;
        max-width: 170px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-shell .sidebar-brand strong::first-letter {
        font-size: .94rem;
    }

    .app-shell .sidebar-brand img,
    .app-shell .sidebar-brand .restaurant-logo,
    .app-shell .sidebar-brand .brand-logo {
        max-height: 44px;
        max-width: 58px;
        object-fit: contain;
    }

    .app-shell .sidebar-menu {
        align-items: stretch;
        gap: 4px;
    }

    .app-shell .sidebar-menu a {
        align-items: center;
        border: 1px solid transparent;
        border-radius: 16px;
        display: flex;
        font-size: .91rem;
        height: auto;
        justify-content: flex-start;
        min-height: 46px;
        padding: 10px 13px;
        position: relative;
        width: 100%;
    }

    .app-shell .sidebar-menu a::before {
        color: #cbd5e1;
        content: "\25A1";
        font-size: 24px;
        font-weight: 950;
        line-height: 1;
    }

    .app-shell .sidebar-menu a:hover,
    .app-shell .sidebar-menu a.active {
        background: linear-gradient(135deg, rgba(34, 211, 238, .18), rgba(37, 99, 235, .24));
        border-color: rgba(34, 211, 238, .38);
        box-shadow: inset 0 0 24px rgba(34, 211, 238, .08), 0 14px 28px rgba(14, 165, 233, .12);
    }

    .app-shell .sidebar-menu a:hover::before,
    .app-shell .sidebar-menu a.active::before {
        color: #38bdf8;
    }

    .app-shell .sidebar-menu a[href*="dashboard.php"]::before,
    .app-shell .sidebar-menu a[href*="pessoal.php"]::before,
    .app-shell .sidebar-menu a[href*="vendedor_painel.php"]::before,
    .app-shell .sidebar-menu a[href*="usuarios.php"]::before {
        content: "\2302";
    }

    .app-shell .sidebar-menu a[href*="estoque.php"]::before,
    .app-shell .sidebar-menu a[href*="estoque_form.php"]::before {
        content: "\25A3";
    }

    .app-shell .sidebar-menu a[href*="cardapio.php"]::before,
    .app-shell .sidebar-menu a[href*="cardapio_form.php"]::before,
    .app-shell .sidebar-menu a[href*="cardapio_online_config.php"]::before {
        content: "\2630";
    }

    .app-shell .sidebar-menu a[href*="mesas.php"]::before,
    .app-shell .sidebar-menu a[href*="mesa_"]::before {
        content: "\25CE";
    }

    .app-shell .sidebar-menu a[href*="pedidos.php"]::before,
    .app-shell .sidebar-menu a[href*="pedido_"]::before,
    .app-shell .sidebar-menu a[href*="vendas_equipe.php"]::before {
        content: "\25A4";
    }

    .app-shell .sidebar-menu a[href*="financeiro.php"]::before,
    .app-shell .sidebar-menu a[href*="assinaturas.php"]::before {
        content: "\0024";
    }

    .app-shell .sidebar-menu a[href*="vendedores.php"]::before,
    .app-shell .sidebar-menu a[href*="vendedor_historico.php"]::before,
    .app-shell .sidebar-menu a[href*="meu_historico.php"]::before {
        content: "\25CB";
    }

    .app-shell .sidebar-menu a[href*="conta.php"]::before,
    .app-shell .sidebar-menu a[href*="promocao.php"]::before,
    .app-shell .sidebar-menu a[href*="avisos.php"]::before,
    .app-shell .sidebar-menu a[href*="sugestoes.php"]::before,
    .app-shell .sidebar-menu a[href*="usuario_detalhes.php"]::before {
        content: "\2699";
    }

    .app-shell .sidebar-menu a[href*="inicio.php"]::before,
    .app-shell .sidebar-menu a[href*="download.php"]::before {
        content: "\2193";
    }

    .app-shell .sidebar-menu a.logout-link::before,
    .app-shell .sidebar-menu a[href*="logout.php"]::before {
        color: #fecaca;
        content: "\21B5";
    }
}

/* Ajustes finais da home: trocar conteúdo no lugar do hero */
.nith-home-content-mode .nith-home-stage {
    display: none !important;
}

.nith-home-content-mode .nith-home-panel {
    margin: clamp(26px, 4vw, 52px) auto 0;
    max-width: 1280px;
}

.nith-plan-box li::before {
    content: "✓" !important;
}

/* Ícones SVG reais para a sidebar compacta */
@media (min-width: 901px) {
    .app-shell .sidebar-menu a {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a::before {
        background: currentColor;
        content: "" !important;
        display: block;
        height: 25px;
        -webkit-mask: var(--nith-sidebar-icon) center / contain no-repeat;
        mask: var(--nith-sidebar-icon) center / contain no-repeat;
        width: 25px;
    }

    .app-shell .sidebar-menu a[href*="dashboard.php"],
    .app-shell .sidebar-menu a[href*="pessoal.php"],
    .app-shell .sidebar-menu a[href*="vendedor_painel.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 10.8V21h6v-6h6v6h6V10.8L12 3Zm6.8 16H17v-6H7v6H5.2v-7.2L12 5.9l6.8 5.9V19Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="usuarios.php"],
    .app-shell .sidebar-menu a[href*="usuario_detalhes.php"],
    .app-shell .sidebar-menu a[href*="vendedores.php"],
    .app-shell .sidebar-menu a[href*="vendedor_historico.php"],
    .app-shell .sidebar-menu a[href*="meu_historico.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8.5 3a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM2 21v-2.2C2 15.6 5.1 13 9 13s7 2.6 7 5.8V21h-2v-2.2C14 16.8 11.8 15 9 15s-5 1.8-5 3.8V21H2Zm14.8 0v-2.5c0-1.4-.4-2.7-1.1-3.8.6-.2 1.2-.3 1.8-.3 2.8 0 5 1.9 5 4.3V21h-2v-2.3c0-1.3-1.3-2.3-3-2.3-.3 0-.6 0-.9.1.2.7.3 1.3.3 2V21h-.1Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="estoque.php"],
    .app-shell .sidebar-menu a[href*="estoque_form.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 9 4.5v11L12 22l-9-4.5v-11L12 2Zm0 2.2L6.1 7 12 9.9 17.9 7 12 4.2ZM5 8.6v7.6l6 3v-7.6l-6-3Zm8 10.6 6-3V8.6l-6 3v7.6Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="cardapio.php"],
    .app-shell .sidebar-menu a[href*="cardapio_form.php"],
    .app-shell .sidebar-menu a[href*="cardapio_online_config.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h2v20H6v-8H5a3 3 0 0 1-3-3V2h2v9h2V2Zm4 0h2v8h2V2h2v8h2V2h2v7a5 5 0 0 1-4 4.9V22h-2v-8.1A5 5 0 0 1 10 9V2Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="mesas.php"],
    .app-shell .sidebar-menu a[href*="mesa_"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 8h16v7H4V8Zm2 2v3h12v-3H6Zm0 6h2v5H6v-5Zm10 0h2v5h-2v-5Zm-7-9 1.5-4h3L15 7h-2.1l-.6-2h-.6l-.6 2H9Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="pedidos.php"],
    .app-shell .sidebar-menu a[href*="pedido_"],
    .app-shell .sidebar-menu a[href*="vendas_equipe.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18l-2-1-2 1-2-1-2 1-2-1-2 1-2-1V3Zm2 3v12.8l2 1 2-1 2 1 2-1 2 1V6H7Zm2 2h6v2H9V8Zm0 4h8v2H9v-2Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="financeiro.php"],
    .app-shell .sidebar-menu a[href*="assinaturas.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 5v1.1c1.2.2 2.2.8 3 1.7l-1.5 1.3c-.7-.7-1.4-1-2.3-1-.9 0-1.5.4-1.5 1s.5.9 2.1 1.3c2.2.6 3.5 1.4 3.5 3.3 0 1.7-1.2 2.9-3.3 3.2V20h-2v-1.2c-1.6-.3-2.8-1.1-3.7-2.2l1.6-1.2c.8.9 1.7 1.4 3 1.4 1 0 1.8-.4 1.8-1.1 0-.6-.5-1-2.2-1.4-2.1-.5-3.4-1.3-3.4-3.1 0-1.6 1.1-2.8 3-3.1V7h2Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="conta.php"],
    .app-shell .sidebar-menu a[href*="promocao.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.5-2.4 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 2.5A8 8 0 0 0 7 6L4.6 5l-2 3.5 2 1.5c-.1.5-.1 1-.1 1.5s0 1 .1 1.5l-2 1.5 2 3.5 2.4-1a8 8 0 0 0 2.6 1.5L10 22h4l.4-2.5A8 8 0 0 0 17 18l2.4 1 2-3.5-2-1.5ZM12 15.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="avisos.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.5-2.5h-5A2.5 2.5 0 0 0 12 22Zm7-6v-5a7 7 0 0 0-5-6.7V3a2 2 0 0 0-4 0v1.3A7 7 0 0 0 5 11v5l-2 2v1h18v-1l-2-2Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="sugestoes.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v12H8l-4 4V4Zm3 4v2h10V8H7Zm0 4v2h7v-2H7Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a[href*="inicio.php"],
    .app-shell .sidebar-menu a[href*="download.php"],
    .app-shell .sidebar-menu a[href*="donwload.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 20h14v-2H5v2ZM13 3h-2v9.2L7.4 8.6 6 10l6 6 6-6-1.4-1.4-3.6 3.6V3Z'/%3E%3C/svg%3E");
    }

    .app-shell .sidebar-menu a.logout-link,
    .app-shell .sidebar-menu a[href*="logout.php"] {
        --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 3h9v18h-9v-2h7V5h-7V3ZM9 8l1.4 1.4L8.8 11H21v2H8.8l1.6 1.6L9 16l-4-4 4-4Z'/%3E%3C/svg%3E");
    }
}

/* Ajustes finais: home mais equilibrada e sidebar com ícones/texto inteligente */
.nith-home-shell {
    padding-top: clamp(18px, 2.2vw, 34px);
}

.nith-home-nav {
    margin-top: clamp(56px, 5vw, 82px);
    margin-bottom: clamp(16px, 2.2vw, 32px);
}

.nith-home-brand-center {
    left: 50%;
    margin: 0;
    max-width: min(42vw, 620px);
    position: absolute;
    top: clamp(14px, 1.8vw, 28px);
    transform: translateX(-50%);
    z-index: 3;
}

.nith-home-brand img {
    max-height: 104px;
    width: clamp(340px, 32vw, 620px);
}

.nith-home-stage {
    min-height: clamp(500px, 60vh, 720px);
}

.app-shell .sidebar-brand {
    min-height: 64px;
}

.app-shell .sidebar-brand::before {
    background: url("../icons/nith-192.png?v=20260726-6") center / contain no-repeat;
    content: "";
    display: block;
    filter: drop-shadow(0 0 18px rgba(14, 165, 233, .5));
    height: 48px;
    margin: 0 auto;
    width: 48px;
}

.app-shell .sidebar-menu a {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v16H4z'/%3E%3C/svg%3E");
    align-items: center;
    display: flex;
    gap: 12px;
}

.app-shell .sidebar-menu a::before {
    background: currentColor;
    content: "" !important;
    display: block;
    flex: 0 0 24px;
    height: 24px;
    -webkit-mask: var(--nith-sidebar-icon) center / contain no-repeat;
    mask: var(--nith-sidebar-icon) center / contain no-repeat;
    width: 24px;
}

.app-shell .sidebar-menu a[href*="dashboard.php"],
.app-shell .sidebar-menu a[href*="pessoal.php"],
.app-shell .sidebar-menu a[href*="vendedor_painel.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3 3 10.8V21h6v-6h6v6h6V10.8L12 3Zm6.8 16H17v-6H7v6H5.2v-7.2L12 5.9l6.8 5.9V19Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="estoque.php"],
.app-shell .sidebar-menu a[href*="estoque_form.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='m12 2 9 4.5v11L12 22l-9-4.5v-11L12 2Zm0 2.2L6.1 7 12 9.9 17.9 7 12 4.2ZM5 8.6v7.6l6 3v-7.6l-6-3Zm8 10.6 6-3V8.6l-6 3v7.6Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="cardapio.php"],
.app-shell .sidebar-menu a[href*="cardapio_form.php"],
.app-shell .sidebar-menu a[href*="cardapio_online_config.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6 2h2v20H6v-8H5a3 3 0 0 1-3-3V2h2v9h2V2Zm4 0h2v8h2V2h2v8h2V2h2v7a5 5 0 0 1-4 4.9V22h-2v-8.1A5 5 0 0 1 10 9V2Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="mesas.php"],
.app-shell .sidebar-menu a[href*="mesa_"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 8h16v7H4V8Zm2 2v3h12v-3H6Zm0 6h2v5H6v-5Zm10 0h2v5h-2v-5Zm-7-9 1.5-4h3L15 7h-2.1l-.6-2h-.6l-.6 2H9Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="pedidos.php"],
.app-shell .sidebar-menu a[href*="pedido_"],
.app-shell .sidebar-menu a[href*="vendas_equipe.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M5 3h14v18l-2-1-2 1-2-1-2 1-2-1-2 1-2-1V3Zm2 3v12.8l2 1 2-1 2 1 2-1 2 1V6H7Zm2 2h6v2H9V8Zm0 4h8v2H9v-2Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="financeiro.php"],
.app-shell .sidebar-menu a[href*="assinaturas.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 5v1.1c1.2.2 2.2.8 3 1.7l-1.5 1.3c-.7-.7-1.4-1-2.3-1-.9 0-1.5.4-1.5 1s.5.9 2.1 1.3c2.2.6 3.5 1.4 3.5 3.3 0 1.7-1.2 2.9-3.3 3.2V20h-2v-1.2c-1.6-.3-2.8-1.1-3.7-2.2l1.6-1.2c.8.9 1.7 1.4 3 1.4 1 0 1.8-.4 1.8-1.1 0-.6-.5-1-2.2-1.4-2.1-.5-3.4-1.3-3.4-3.1 0-1.6 1.1-2.8 3-3.1V7h2Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="usuarios.php"],
.app-shell .sidebar-menu a[href*="usuario_detalhes.php"],
.app-shell .sidebar-menu a[href*="vendedores.php"],
.app-shell .sidebar-menu a[href*="vendedor_historico.php"],
.app-shell .sidebar-menu a[href*="meu_historico.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M9 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm8.5 3a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7ZM2 21v-2.2C2 15.6 5.1 13 9 13s7 2.6 7 5.8V21h-2v-2.2C14 16.8 11.8 15 9 15s-5 1.8-5 3.8V21H2Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="conta.php"],
.app-shell .sidebar-menu a[href*="promocao.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.5-2.4 1a8 8 0 0 0-2.6-1.5L14 2h-4l-.4 2.5A8 8 0 0 0 7 6L4.6 5l-2 3.5 2 1.5c-.1.5-.1 1-.1 1.5s0 1 .1 1.5l-2 1.5 2 3.5 2.4-1a8 8 0 0 0 2.6 1.5L10 22h4l.4-2.5A8 8 0 0 0 17 18l2.4 1 2-3.5-2-1.5ZM12 15.5a3.5 3.5 0 1 1 0-7 3.5 3.5 0 0 1 0 7Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="avisos.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 22a2.5 2.5 0 0 0 2.5-2.5h-5A2.5 2.5 0 0 0 12 22Zm7-6v-5a7 7 0 0 0-5-6.7V3a2 2 0 0 0-4 0v1.3A7 7 0 0 0 5 11v5l-2 2v1h18v-1l-2-2Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="atendimentos_bot.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H8l-5 4v-4H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm2 5v2h12V9H6Zm0 4v2h8v-2H6Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="sugestoes.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v12H8l-4 4V4Zm3 4v2h10V8H7Zm0 4v2h7v-2H7Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="inicio.php"],
.app-shell .sidebar-menu a[href*="download.php"],
.app-shell .sidebar-menu a[href*="donwload.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm6.9 9h-3.1a15.5 15.5 0 0 0-1.2-5A8.04 8.04 0 0 1 18.9 11ZM12 4.1c.6.9 1.4 2.5 1.8 4.9h-3.6c.4-2.4 1.2-4 1.8-4.9ZM4.1 13h3.1c.2 1.8.6 3.5 1.2 5A8.04 8.04 0 0 1 4.1 13Zm3.1-2H4.1A8.04 8.04 0 0 1 8.4 6a15.5 15.5 0 0 0-1.2 5ZM12 19.9c-.6-.9-1.4-2.5-1.8-4.9h3.6c-.4 2.4-1.2 4-1.8 4.9ZM14.2 13H9.8a13.8 13.8 0 0 1 0-2h4.4a13.8 13.8 0 0 1 0 2Zm1.4 5c.6-1.5 1-3.2 1.2-5h3.1a8.04 8.04 0 0 1-4.3 5Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a.logout-link,
.app-shell .sidebar-menu a[href*="logout.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M10 3h9v18h-9v-2h7V5h-7V3ZM9 8l1.4 1.4L8.8 11H21v2H8.8l1.6 1.6L9 16l-4-4 4-4Z'/%3E%3C/svg%3E");
}

@media (min-width: 901px) {
    .app-shell .sidebar {
        overflow: hidden;
        transition: flex-basis .18s ease, width .18s ease, padding .18s ease;
        white-space: nowrap;
    }

    .app-shell .sidebar:hover,
    .app-shell .sidebar:focus-within {
        flex-basis: 260px;
        padding-left: 18px;
        padding-right: 18px;
        width: 260px;
    }

    .app-shell .sidebar:hover .sidebar-brand,
    .app-shell .sidebar:focus-within .sidebar-brand {
        justify-content: flex-start;
    }

    .app-shell .sidebar:hover .sidebar-brand::before,
    .app-shell .sidebar:focus-within .sidebar-brand::before {
        margin: 0 12px 0 0;
    }

    .app-shell .sidebar:hover .sidebar-brand strong,
    .app-shell .sidebar:focus-within .sidebar-brand strong {
        display: block;
        font-size: 17px;
        letter-spacing: .02em;
    }

    .app-shell .sidebar:hover .sidebar-menu,
    .app-shell .sidebar:focus-within .sidebar-menu {
        align-items: stretch;
    }

    .app-shell .sidebar:hover .sidebar-menu a,
    .app-shell .sidebar:focus-within .sidebar-menu a {
        font-size: 15px;
        gap: 13px;
        justify-content: flex-start;
        padding: 0 14px;
        width: 100%;
    }
}

@media (max-width: 900px) {
    .app-shell .sidebar-brand {
        align-items: center;
        display: flex;
        gap: 12px;
    }

    .app-shell .sidebar-brand::before {
        margin: 0;
    }

    .app-shell .sidebar-menu a {
        align-items: center;
        display: flex;
        gap: 12px;
    }
}

@media (max-width: 620px) {
    .nith-home-nav {
        margin-top: 88px;
    }

    .nith-home-brand-center {
        max-width: 86vw;
        top: 14px;
    }

    .nith-home-brand img {
        width: min(86vw, 430px);
    }
}

/* Refinamento final solicitado: logo maior, menu mais baixo e sidebar expansível limpa */
.nith-home-nav {
    margin-top: clamp(116px, 8vw, 150px);
}

.nith-home-brand-center {
    max-width: min(54vw, 860px);
    top: clamp(10px, 1.4vw, 22px);
}

.nith-home-brand img {
    max-height: 150px;
    width: clamp(520px, 42vw, 860px);
}

.nith-home-quick {
    display: none !important;
}

@media (min-width: 901px) {
    .app-shell .sidebar-brand {
        align-items: center;
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-height: 74px;
        overflow: hidden;
        text-align: center;
    }

    .app-shell .sidebar-brand::before {
        height: 50px;
        margin: 0 auto;
        width: 50px;
    }

    .app-shell .sidebar-brand strong {
        display: block;
        font-size: 0;
        line-height: 1.2;
        max-width: 100%;
        opacity: 0;
        overflow: hidden;
        text-align: center;
        text-overflow: ellipsis;
        transition: opacity .16s ease, font-size .16s ease, margin .16s ease;
        white-space: normal;
    }

    .app-shell .sidebar:hover .sidebar-brand,
    .app-shell .sidebar:focus-within .sidebar-brand {
        align-items: center;
        flex-direction: column;
        justify-content: center;
        min-height: 96px;
    }

    .app-shell .sidebar:hover .sidebar-brand::before,
    .app-shell .sidebar:focus-within .sidebar-brand::before {
        margin: 0 auto 8px;
    }

    .app-shell .sidebar:hover .sidebar-brand strong,
    .app-shell .sidebar:focus-within .sidebar-brand strong {
        font-size: 16px;
        margin-top: 0;
        opacity: 1;
    }

    .app-shell .sidebar:hover .sidebar-brand strong::first-letter,
    .app-shell .sidebar:focus-within .sidebar-brand strong::first-letter {
        font-size: inherit !important;
    }
}

@media (max-width: 900px) {
    .app-shell .sidebar-brand {
        align-items: center;
        display: flex;
        flex-direction: column;
        gap: 8px;
        justify-content: center;
        text-align: center;
    }

    .app-shell .sidebar-brand strong {
        display: block;
        font-size: 17px;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 620px) {
    .nith-home-nav {
        margin-top: 106px;
    }

    .nith-home-brand-center {
        max-width: 92vw;
        top: 10px;
    }

    .nith-home-brand img {
        max-height: 96px;
        width: min(92vw, 470px);
    }
}

.app-shell .sidebar-menu a[href*="colaboradores.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M16 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4ZM8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4Zm8 3c-1.7 0-3.2.5-4.3 1.4A7.5 7.5 0 0 0 8 13c-3.3 0-6 2.1-6 4.8V21h12v-2h8v-1.7c0-2.4-2.7-4.3-6-4.3ZM4 19v-1.2C4 16.3 5.8 15 8 15s4 1.3 4 2.8V19H4Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="backup.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 3a8 8 0 0 0-8 8H1l4 4 4-4H6a6 6 0 1 1 1.8 4.3l-1.4 1.4A8 8 0 1 0 12 3Zm1 4h-2v5.4l4.3 2.6 1-1.7-3.3-2V7Z'/%3E%3C/svg%3E");
}

.app-shell .sidebar-menu a[href*="atendimentos_bot.php"] {
    --nith-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4 4h16v11H7l-3 3V4Zm2 2v7.2L6.2 13H18V6H6Zm2 2h8v2H8V8Zm0 3h5v2H8v-2Zm10 6h2v3H8v-2h10v-1Z'/%3E%3C/svg%3E");
}

.code-expiry-hint {
    background: rgba(34, 211, 238, .08);
    border: 1px solid rgba(34, 211, 238, .22);
    border-radius: 12px;
    color: #c8f5ff;
    font-size: .9rem;
    margin: 4px 0 10px;
    padding: 10px 12px;
}

/* Correções finais: promoção nos planos, topo mobile e logo no painel mobile */
.nith-plan-price-promo {
    display: grid !important;
    gap: 2px;
    line-height: 1.05;
}

.nith-plan-price-promo > span {
    color: #94a3b8;
    display: inline-flex;
    font-size: clamp(17px, 2vw, 24px);
    font-weight: 900;
    gap: 4px;
    text-decoration: line-through;
    text-decoration-color: rgba(248, 113, 113, .95);
    text-decoration-thickness: 2px;
}

.nith-plan-price-promo > b {
    color: #67e8f9;
    display: inline-flex;
    font-size: inherit;
    font-weight: 950;
    gap: 5px;
}

.nith-plan-price-promo small {
    align-self: end;
}

@media (max-width: 780px) {
    .app-shell .main-content {
        padding-top: 84px !important;
        position: relative;
    }

    .app-shell .main-content::before {
        background: url("../icons/nith-192.png?v=20260726-6") center / contain no-repeat;
        content: "";
        filter: drop-shadow(0 0 16px rgba(14, 165, 233, .48));
        height: 46px;
        left: 50%;
        pointer-events: none;
        position: fixed;
        top: 15px;
        transform: translateX(-50%);
        width: 46px;
        z-index: 11;
    }

    .app-shell .menu-toggle {
        position: fixed;
        top: 20px;
        left: 14px;
        z-index: 12;
    }

    .app-shell .topbar {
        padding-top: 0;
    }
}

@media (max-width: 620px) {
    .nith-home-mobile-top {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .nith-home-mobile-brand img {
        width: min(48vw, 190px) !important;
    }

    .nith-home-actions-mobile {
        align-items: center;
        display: flex !important;
        flex: 0 0 auto;
        gap: 7px;
        justify-content: flex-end;
    }

    .nith-home-actions-mobile .nith-home-icon-action {
        background: rgba(2, 6, 23, .24) !important;
        border-radius: 12px;
        height: 34px !important;
        width: 34px !important;
    }

    .nith-home-actions-mobile .nith-home-icon-action svg {
        color: currentColor;
        display: block;
        height: 17px !important;
        stroke: currentColor !important;
        width: 17px !important;
    }

    .nith-home-tabs {
        border-radius: 18px;
        flex-wrap: wrap;
        justify-content: flex-start;
        overflow: visible;
        width: 100%;
    }

    .nith-home-tabs button {
        flex: 1 1 auto;
        font-size: 12px;
        min-width: max-content;
        padding: 9px 11px;
    }

    .nith-home-copy h1 {
        font-size: clamp(32px, 10.8vw, 46px);
    }
}

/* Ajustes finais da página inicial: ações discretas, mobile topbar e download com mockup */
.nith-home-mobile-top {
    display: none;
}

.nith-home-icon-action {
    background: rgba(15, 23, 42, .28) !important;
    border-color: rgba(125, 211, 252, .22) !important;
    box-shadow: none !important;
    height: 42px;
    width: 42px;
}

.nith-home-icon-action.nith-home-panel-link {
    color: #7dd3fc;
}

.nith-home-icon-action.nith-home-logout {
    background: rgba(127, 29, 29, .12) !important;
    border-color: rgba(248, 113, 113, .22) !important;
    color: #fca5a5;
}

.nith-home-icon-action svg {
    height: 19px;
    width: 19px;
}

.nith-about-text {
    display: grid;
    gap: 14px;
    max-width: 1120px;
}

.nith-about-text p {
    margin: 0;
}

.nith-download-panel {
    align-items: center;
    display: grid;
    gap: clamp(22px, 4vw, 48px);
    grid-template-columns: minmax(280px, .8fr) minmax(320px, 1.2fr);
}

.nith-download-panel img {
    display: block;
    filter: drop-shadow(0 28px 60px rgba(0, 0, 0, .48));
    height: auto;
    justify-self: center;
    max-width: min(620px, 100%);
    width: 100%;
}

.nith-download-list {
    color: #dbeafe;
    display: grid;
    gap: 10px;
    line-height: 1.6;
    margin: 0 0 24px 20px;
    padding: 0;
}

.nith-download-list li::marker {
    color: #22d3ee;
}

@media (min-width: 621px) {
    .nith-home-nav > .nith-home-actions {
        align-self: center;
        position: absolute;
        right: clamp(16px, 4vw, 72px);
        top: clamp(118px, 8vw, 154px);
        z-index: 4;
    }
}

@media (max-width: 620px) {
    .nith-home-shell {
        padding-top: 12px;
    }

    .nith-home-nav {
        display: grid;
        gap: 12px;
        margin-top: 0;
    }

    .nith-home-nav > .nith-home-actions {
        display: none;
    }

    .nith-home-mobile-top {
        align-items: center;
        display: grid;
        gap: 10px;
        grid-template-columns: minmax(0, 1fr) auto;
        width: 100%;
    }

    .nith-home-mobile-brand {
        display: flex;
        min-width: 0;
    }

    .nith-home-mobile-brand img {
        max-height: 72px;
        object-fit: contain;
        object-position: left center;
        width: min(54vw, 220px);
    }

    .nith-home-brand-center {
        display: none;
    }

    .nith-home-actions-mobile {
        display: flex !important;
        gap: 8px;
        justify-content: flex-end;
    }

    .nith-home-actions-mobile .nith-home-icon-action {
        border-radius: 13px;
        height: 38px;
        width: 38px;
    }

    .nith-home-actions-mobile .nith-home-icon-action svg {
        height: 18px;
        width: 18px;
    }

    .nith-home-actions-mobile .nith-home-enter,
    .nith-home-actions-mobile .nith-home-primary {
        border-radius: 12px;
        font-size: 12px;
        min-height: 38px;
        padding: 0 10px;
        white-space: nowrap;
    }

    .nith-home-tabs {
        justify-self: stretch;
        overflow-x: auto;
        padding: 5px;
    }

    .nith-home-tabs button {
        font-size: 13px;
        padding: 10px 13px;
        white-space: nowrap;
    }

    .nith-home-stage {
        padding-top: 6px;
    }

    .nith-download-panel {
        grid-template-columns: 1fr;
    }

    .nith-download-panel img {
        max-width: 100%;
        order: -1;
    }
}


/* Override final: home mobile e botoes logados */
@media (max-width: 620px) {
    .nith-home-mobile-top {
        align-items: center !important;
        display: grid !important;
        gap: 8px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        width: 100% !important;
    }

    .nith-home-mobile-brand img {
        max-height: 64px !important;
        object-fit: contain !important;
        object-position: left center !important;
        width: min(46vw, 185px) !important;
    }

    .nith-home-actions-mobile {
        align-items: center !important;
        display: flex !important;
        gap: 7px !important;
        justify-content: flex-end !important;
    }

    .nith-home-actions-mobile .nith-home-icon-action {
        border-radius: 12px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        width: 34px !important;
    }

    .nith-home-actions-mobile .nith-home-icon-action svg {
        color: currentColor !important;
        display: block !important;
        fill: none !important;
        height: 17px !important;
        stroke: currentColor !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
        width: 17px !important;
    }

    .nith-home-tabs {
        border-radius: 18px !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        overflow: visible !important;
        width: 100% !important;
    }

    .nith-home-tabs button {
        flex: 1 1 auto !important;
        font-size: 12px !important;
        min-width: max-content !important;
        padding: 9px 11px !important;
        white-space: nowrap !important;
    }
}

/* Override final: icone de sair solido na home */
.nith-home-icon-action .nith-logout-svg {
    color: currentColor !important;
    display: block !important;
    fill: currentColor !important;
    height: 19px !important;
    stroke: none !important;
    width: 19px !important;
}

@media (max-width: 620px) {
    .nith-home-actions-mobile .nith-home-icon-action .nith-logout-svg {
        height: 17px !important;
        width: 17px !important;
    }
}

/* Final: logos da conta padronizadas e topo mobile sem logo fixa global */
.app-shell .sidebar-brand::before {
    display: none !important;
}

.sidebar-brand-logo,
.app-shell .sidebar-brand img {
    aspect-ratio: 1 / 1;
    background: rgba(15, 23, 42, .5);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 18px;
    display: block;
    height: 64px;
    max-height: 64px !important;
    max-width: 64px !important;
    object-fit: contain;
    padding: 5px;
    width: 64px;
}

.custom-brand-logo {
    background: rgba(255, 255, 255, .04);
}

.public-menu-logo,
.public-menu-header > img {
    aspect-ratio: 1 / 1;
    background: rgba(15, 23, 42, .45);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 22px;
    display: block;
    height: clamp(76px, 18vw, 118px) !important;
    max-height: 118px !important;
    max-width: 118px !important;
    object-fit: contain;
    padding: 6px;
    width: clamp(76px, 18vw, 118px) !important;
}

@media (min-width: 901px) {
    .app-shell .sidebar {
        overflow-y: auto;
    }

    .app-shell .sidebar:hover .sidebar-brand img,
    .app-shell .sidebar:focus-within .sidebar-brand img {
        height: 72px;
        max-height: 72px !important;
        max-width: 72px !important;
        width: 72px;
    }
}

@media (max-width: 900px) {
    .app-shell .sidebar-brand img {
        height: 94px;
        max-height: 94px !important;
        max-width: 94px !important;
        width: 94px;
    }
}

@media (max-width: 780px) {
    .app-shell .main-content::before {
        display: none !important;
    }

    .dashboard-page .main-content {
        padding-top: 92px !important;
    }

    .dashboard-page .main-content::before {
        background: url("../icons/nith-192.png?v=20260726-6") center / contain no-repeat;
        content: "";
        display: block !important;
        filter: drop-shadow(0 0 16px rgba(14, 165, 233, .48));
        height: 46px;
        left: 50%;
        pointer-events: none;
        position: absolute;
        top: 16px;
        transform: translateX(-50%);
        width: 46px;
        z-index: 2;
    }
}

/* Admin: contador discreto da página principal */
.admin-mini-stats {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 16px;
}

.admin-mini-stats article {
    background: rgba(15, 23, 42, .52);
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 16px;
    color: #cbd5e1;
    display: grid;
    gap: 3px;
    min-width: min(100%, 260px);
    padding: 12px 14px;
}

.admin-mini-stats span {
    color: #94a3b8;
    font-size: 12px;
}

.admin-mini-stats strong {
    color: #e0f2fe;
    font-size: 24px;
    line-height: 1;
}

.admin-mini-stats small {
    color: #64748b;
    font-size: 11px;
}

@media (max-width: 720px) {
    .admin-mini-stats {
        justify-content: stretch;
    }

    .admin-mini-stats article {
        width: 100%;
    }
}

/* Home: menu compacto apenas em dispositivos móveis */
.nith-home-menu-dots {
    display: none;
}

@media (max-width: 620px) {
    .nith-home-menu-dots {
        align-items: center;
        background: linear-gradient(145deg, rgba(15, 23, 42, .94), rgba(12, 46, 75, .88));
        border: 1px solid rgba(34, 211, 238, .38);
        border-radius: 18px;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 16px 34px rgba(2, 8, 23, .32);
        color: #67e8f9;
        display: inline-flex;
        flex-direction: column;
        gap: 5px;
        height: 44px;
        justify-content: center;
        justify-self: end;
        padding: 0 13px;
        position: relative;
        transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
        width: 54px;
        z-index: 35;
    }

    .nith-home-menu-dots span {
        background: currentColor;
        box-shadow: 0 0 12px rgba(34, 211, 238, .45);
        border-radius: 999px;
        display: block;
        height: 2px;
        width: 22px;
    }

    .nith-home-menu-dots:hover,
    .nith-home-menu-dots[aria-expanded="true"] {
        border-color: rgba(34, 211, 238, .82);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 20px 44px rgba(14, 165, 233, .28);
        transform: translateY(-1px);
    }

    .nith-home-tabs {
        background:
            radial-gradient(circle at 20% 0%, rgba(34, 211, 238, .16), transparent 36%),
            linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(15, 38, 64, .96)) !important;
        border: 1px solid rgba(34, 211, 238, .28) !important;
        border-radius: 24px !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 24px 56px rgba(2, 8, 23, .5) !important;
        display: none !important;
        gap: 8px !important;
        justify-self: end !important;
        margin-top: -2px !important;
        max-width: min(84vw, 280px) !important;
        padding: 10px !important;
        position: relative !important;
        width: min(84vw, 280px) !important;
        z-index: 30 !important;
    }

    .nith-home-nav.nith-home-menu-open .nith-home-tabs {
        display: grid !important;
    }

    .nith-home-tabs button {
        background: rgba(15, 23, 42, .72) !important;
        border: 1px solid rgba(148, 163, 184, .16) !important;
        border-radius: 16px !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05) !important;
        color: #e5f3ff !important;
        font-size: 13px !important;
        justify-content: flex-start !important;
        min-width: 0 !important;
        padding: 13px 14px !important;
        text-align: left !important;
        transition: background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease !important;
        width: 100% !important;
    }

    .nith-home-tabs button:hover,
    .nith-home-tabs button.active {
        background: linear-gradient(135deg, #1dd6c0, #2196f3) !important;
        border-color: rgba(103, 232, 249, .8) !important;
        color: #02111f !important;
        transform: translateY(-1px) !important;
    }

    .nith-home-tabs button::after {
        display: none !important;
    }
}

/* Admin: colaboradores */
.collaborator-admin-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.5fr) minmax(240px, .7fr);
}

.collaborator-form h2,
.collaborator-month-filter h2 {
    margin-bottom: 16px;
}

.collaborator-summary article {
    min-height: 110px;
}

.compact-link-input {
    background: rgba(2, 6, 23, .55);
    border: 1px solid rgba(56, 189, 248, .24);
    border-radius: 12px;
    color: #dff7ff;
    max-width: 260px;
    padding: 10px 12px;
    width: 100%;
}

.admin-row-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.admin-row-actions form {
    margin: 0;
}

.admin-row-actions a,
.admin-row-actions button {
    min-height: 38px;
    padding: 9px 12px;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .collaborator-admin-grid {
        grid-template-columns: 1fr;
    }
}

/* Home mobile: menu lateral compacto no mesmo padrão visual dos planos */
@media (max-width: 620px) {
    .nith-home-nav.nith-home-menu-open {
        align-items: end !important;
    }

    .nith-home-nav .nith-home-tabs {
        border-radius: 20px !important;
        gap: 7px !important;
        justify-self: end !important;
        margin-top: 6px !important;
        max-width: 178px !important;
        min-height: 0 !important;
        padding: 8px !important;
        width: 178px !important;
    }

    .nith-home-nav .nith-home-tabs button {
        align-items: center !important;
        border-radius: 13px !important;
        display: flex !important;
        font-size: 12px !important;
        justify-content: flex-start !important;
        line-height: 1 !important;
        min-height: 36px !important;
        padding: 0 12px !important;
        width: 100% !important;
    }

    .nith-home-nav .nith-home-tabs button.active {
        box-shadow: 0 12px 28px rgba(14, 165, 233, .25) !important;
    }
}

/* Recursos: GIF compacto ao lado do texto */
.nith-resource-intro {
    align-items: center;
    display: grid;
    gap: clamp(14px, 2.2vw, 26px);
    grid-template-columns: minmax(0, 1fr) minmax(190px, 300px);
    margin-bottom: 18px;
}

.nith-resource-intro h3 {
    margin-top: 0;
}

.nith-resource-intro .nith-resource-visual {
    margin: 0;
}

.nith-resource-intro .nith-resource-visual img {
    height: clamp(130px, 18vw, 210px);
}

@media (max-width: 720px) {
    .nith-resource-intro {
        grid-template-columns: 1fr;
    }

    .nith-resource-intro .nith-resource-visual {
        max-width: 360px;
    }

    .nith-resource-intro .nith-resource-visual img {
        height: 170px;
    }
}

/* Recursos: GIF visual do Restaurante */
.nith-resource-visual {
    background:
        radial-gradient(circle at 50% 0%, rgba(34, 211, 238, .16), transparent 42%),
        rgba(2, 6, 23, .34);
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 22px;
    margin: 18px 0 20px;
    overflow: hidden;
    pointer-events: none;
}

.nith-resource-visual img {
    display: block;
    height: clamp(180px, 30vw, 360px);
    object-fit: cover;
    object-position: center;
    user-select: none;
    width: 100%;
}

/* Admin: colaboradores profissional */
.collaborator-admin-grid {
    align-items: stretch;
    background:
        radial-gradient(circle at top left, rgba(34, 211, 238, .10), transparent 38%),
        linear-gradient(145deg, rgba(15, 23, 42, .92), rgba(8, 17, 31, .94));
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 24px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
    padding: clamp(18px, 2.4vw, 28px);
}

.collaborator-admin-grid .data-form {
    background: rgba(2, 6, 23, .26);
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 20px;
    box-shadow: none;
    padding: clamp(16px, 2vw, 22px);
}

.collaborator-form h2,
.collaborator-month-filter h2 {
    color: #f8fafc;
    font-size: clamp(20px, 2vw, 26px);
    letter-spacing: -.02em;
    margin: 0 0 16px;
}

.collaborator-form .form-grid {
    gap: 14px;
}

.collaborator-form input,
.collaborator-month-filter input {
    background: rgba(2, 6, 23, .62);
    border-color: rgba(125, 211, 252, .20);
}

.collaborator-month-filter {
    align-content: start;
    display: grid;
    gap: 14px;
}

.collaborator-month-filter label {
    gap: 8px;
}

.collaborator-month-filter button {
    align-items: center;
    border-radius: 14px;
    justify-content: center;
    min-height: 44px;
    padding-inline: 18px;
    width: 100%;
}

.collaborator-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.collaborator-summary article {
    background:
        radial-gradient(circle at top right, rgba(34, 211, 238, .12), transparent 44%),
        rgba(15, 23, 42, .76);
    border: 1px solid rgba(125, 211, 252, .17);
    border-radius: 20px;
}

.collaborator-summary article strong {
    color: #67e8f9;
}

.table-card:has(.compact-link-input) {
    border-radius: 24px;
    overflow: hidden;
}

.compact-link-input {
    font-size: 12px;
    max-width: 340px;
}

.admin-row-actions {
    min-width: 250px;
}

.admin-row-actions a,
.admin-row-actions button {
    border-radius: 12px;
    font-size: 13px;
    min-height: 36px;
    padding: 8px 11px;
}

.admin-row-actions .button-danger,
.admin-row-actions button.button-danger {
    background: linear-gradient(135deg, #ef4444, #be123c) !important;
    border-color: rgba(248, 113, 113, .62) !important;
    color: #fff !important;
}

@media (max-width: 980px) {
    .collaborator-summary {
        grid-template-columns: 1fr;
    }

    .admin-row-actions {
        min-width: 0;
    }
}

/* Home mobile: menu suspenso justo, sem area vazia sobrando */
@media (max-width: 620px) {
    .nith-home-nav.nith-home-menu-open {
        align-items: end !important;
    }

    .nith-home-nav .nith-home-tabs {
        align-items: stretch !important;
        border-radius: 17px !important;
        display: none !important;
        gap: 6px !important;
        grid-template-columns: 1fr !important;
        justify-items: stretch !important;
        justify-self: end !important;
        margin-top: 4px !important;
        max-width: 136px !important;
        min-height: 0 !important;
        min-width: 124px !important;
        padding: 6px !important;
        width: auto !important;
    }

    .nith-home-nav.nith-home-menu-open .nith-home-tabs {
        display: grid !important;
    }

    .nith-home-nav .nith-home-tabs button {
        align-items: center !important;
        border-radius: 11px !important;
        display: flex !important;
        font-size: 11px !important;
        justify-content: flex-start !important;
        line-height: 1 !important;
        min-height: 30px !important;
        min-width: 112px !important;
        padding: 0 10px !important;
        width: 112px !important;
    }
}

/* Home mobile: menu flutuante sem empurrar o conteúdo */
@media (max-width: 620px) {
    .nith-home-nav {
        position: relative !important;
    }

    .nith-home-nav .nith-home-tabs {
        margin-top: 0 !important;
        position: absolute !important;
        right: 0 !important;
        top: calc(100% + 8px) !important;
    }

    .nith-home-stage {
        margin-top: 0 !important;
    }
}

/* Modal obrigatório de assinatura vencida */
.subscription-expired-overlay {
    align-items: center;
    background: rgba(2, 6, 23, .32);
    backdrop-filter: blur(1.5px);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 9999;
}

.subscription-expired-card {
    background:
        radial-gradient(circle at top right, rgba(34, 211, 238, .18), transparent 40%),
        linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(8, 17, 31, .98));
    border: 1px solid rgba(125, 211, 252, .28);
    border-radius: 26px;
    box-shadow: 0 32px 90px rgba(0, 0, 0, .55);
    max-width: 520px;
    padding: clamp(24px, 4vw, 38px);
    text-align: center;
    width: min(100%, 520px);
}

.subscription-expired-logo {
    display: block;
    background: transparent;
    border-radius: 999px;
    clip-path: circle(48% at center);
    filter: drop-shadow(0 12px 28px rgba(14, 165, 233, .36));
    height: 74px;
    margin: 0 auto 14px;
    object-fit: contain;
    width: 74px;
}

.subscription-expired-card span {
    color: #38bdf8;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .08em;
    margin-bottom: 12px;
    text-transform: uppercase;
}

.subscription-expired-card h2 {
    color: #f8fafc;
    font-size: clamp(28px, 4vw, 42px);
    letter-spacing: -.04em;
    line-height: 1.08;
    margin: 0 0 12px;
}

.subscription-expired-card p {
    color: #f1f8ff;
    font-size: 16px;
    line-height: 1.65;
    margin: 0 auto 24px;
}

.subscription-expired-actions {
    align-items: center;
    flex-direction: column;
    display: flex;
    gap: 10px;
    justify-content: center;
}

.subscription-expired-card a {
    align-items: center;
    background: linear-gradient(135deg, #13d6a0, #0ea5e9 58%, #2563eb);
    border-radius: 16px;
    color: #02111f;
    display: inline-flex;
    font-weight: 950;
    justify-content: center;
    min-height: 52px;
    padding: 0 28px;
    text-decoration: none;
}

.subscription-expired-card a.subscription-expired-logout {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #fb7185;
    font-size: 14px;
    min-height: 0;
    padding: 2px 0;
    text-decoration: none;
}

.subscription-expired-card a.subscription-expired-logout:hover {
    color: #fecdd3;
    text-decoration: underline;
}

/* Recursos: manter GIF inteiro, reduzido e sem corte */
.nith-resource-visual img,
.nith-resource-intro .nith-resource-visual img {
    background: rgba(2, 6, 23, .22);
    object-fit: contain !important;
    padding: 8px;
}

.account-subtle-actions {
    display: flex;
    justify-content: flex-end;
    margin: 12px 0;
}

.account-subtle-actions a {
    border: 1px solid rgba(125, 211, 252, .22);
    border-radius: 999px;
    color: #93c5fd;
    font-size: 13px;
    font-weight: 800;
    padding: 8px 14px;
    text-decoration: none;
}

.account-subtle-actions a:hover {
    border-color: rgba(34, 211, 238, .55);
    color: #e0f2fe;
}

/* Recuperação e verificação por e-mail */
.login-card .alert,
.login-card .success-alert,
.login-card .warning-alert,
.login-card .code-expiry-hint {
    color: #f8fafc;
}

.login-card .success-alert {
    background: rgba(6, 78, 59, .72);
    border-color: rgba(52, 211, 153, .34);
}

.email-delivery-hint {
    background: rgba(14, 116, 144, .18);
    border: 1px solid rgba(34, 211, 238, .28);
    border-radius: 12px;
    color: #f8fafc;
    font-size: .9rem;
    line-height: 1.55;
    margin: 2px 0 12px;
    padding: 11px 13px;
}

.email-delivery-hint strong {
    color: #ffffff;
}

/* Painel administrativo: ações e formulários consistentes */
.button-secondary,
a.button-secondary,
button.button-secondary,
.actions-cell .button-secondary {
    background: linear-gradient(135deg, #172554, #123456) !important;
    border: 1px solid rgba(56, 189, 248, .32) !important;
    color: #e0f2fe !important;
    box-shadow: 0 8px 20px rgba(2, 8, 23, .2);
}

.button-secondary:hover,
a.button-secondary:hover,
button.button-secondary:hover,
.actions-cell .button-secondary:hover {
    background: linear-gradient(135deg, #1e3a8a, #075985) !important;
    border-color: rgba(103, 232, 249, .58) !important;
    color: #ffffff !important;
}

.admin-create-login-bar {
    align-items: center;
    background: linear-gradient(135deg, rgba(15, 23, 42, .95), rgba(10, 35, 58, .9));
    border: 1px solid rgba(56, 189, 248, .2);
    border-radius: 18px;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 16px;
    padding: 16px 18px;
}

.admin-create-login-bar > div {
    display: grid;
    gap: 4px;
}

.admin-create-login-bar strong {
    color: #f8fafc;
    font-size: 17px;
}

.admin-create-login-bar span {
    color: #a9bdd3;
    font-size: 13px;
}

.admin-create-login-bar > button {
    align-items: center;
    align-self: center;
    background: linear-gradient(135deg, #14d8b0, #18aeea) !important;
    border: 1px solid rgba(103, 232, 249, .7) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 34px rgba(6, 182, 212, .24) !important;
    color: #03111f !important;
    display: inline-flex;
    font-size: 15px !important;
    font-weight: 900 !important;
    justify-content: center;
    min-height: 50px;
    min-width: 220px;
    padding: 0 24px !important;
}

.admin-create-login-bar > button:hover {
    background: linear-gradient(135deg, #2dd4bf, #38bdf8) !important;
    box-shadow: 0 18px 42px rgba(14, 165, 233, .32) !important;
    transform: translateY(-1px);
}

.danger-action,
.button-secondary.danger-action,
.button-primary.danger-action,
.form-header a.danger-action,
.form-actions a.danger-action {
    background: linear-gradient(135deg, #dc2626, #fb7185) !important;
    border-color: rgba(254, 202, 202, 0.42) !important;
    box-shadow: 0 10px 28px rgba(220, 38, 38, 0.26);
    color: #ffffff !important;
}

.danger-action:hover,
.button-secondary.danger-action:hover,
.button-primary.danger-action:hover,
.form-header a.danger-action:hover,
.form-actions a.danger-action:hover {
    background: linear-gradient(135deg, #b91c1c, #ef4444) !important;
    border-color: rgba(254, 202, 202, 0.75) !important;
    color: #ffffff !important;
}

.sidebar-menu a {
    position: relative;
}

.menu-count-badge {
    align-items: center;
    background: #ef4444;
    border: 2px solid #07111f;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(239, 68, 68, 0.35);
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    height: 19px;
    justify-content: center;
    line-height: 1;
    min-width: 19px;
    padding: 0 5px;
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
}

.admin-login-form-panel[hidden] {
    display: none !important;
}

@media (max-width: 680px) {
    .admin-create-login-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-create-login-bar > button {
        align-self: stretch;
        width: 100%;
    }
}

/* Ajustes finais de legibilidade e acoes em destaque */
.cardapio-online-cta {
    align-items: center;
    background: linear-gradient(135deg, #065f5b, #047c87 48%, #0ea5e9) !important;
    border-color: rgba(45, 212, 191, .72) !important;
    box-shadow: 0 16px 38px rgba(20, 184, 166, .22), 0 0 0 1px rgba(255,255,255,.08) inset !important;
    color: #ffffff !important;
    display: inline-flex;
    gap: 8px;
    overflow: hidden;
    position: relative;
}

.cardapio-online-cta::before {
    background: rgba(6, 182, 212, .22);
    border: 1px solid rgba(165, 243, 252, .35);
    border-radius: 999px;
    content: "QR";
    display: inline-grid;
    font-size: 11px;
    font-weight: 950;
    height: 28px;
    letter-spacing: .02em;
    place-items: center;
    width: 28px;
}

.cardapio-online-cta:hover {
    box-shadow: 0 20px 48px rgba(20, 184, 166, .32), 0 0 24px rgba(34, 211, 238, .22) !important;
    transform: translateY(-1px);
}

/* Página institucional NITH */
.nith-company-page {
    background:
        radial-gradient(circle at 12% 12%, rgba(14, 165, 233, .28), transparent 34%),
        radial-gradient(circle at 86% 22%, rgba(37, 99, 235, .22), transparent 36%),
        linear-gradient(135deg, #020617 0%, #071527 48%, #062f31 100%);
    color: #f8fafc;
    min-height: 100vh;
}

.nith-company-shell {
    margin: 0 auto;
    max-width: 1280px;
    padding: clamp(20px, 4vw, 42px);
}

.nith-company-nav {
    align-items: center;
    display: flex;
    gap: 22px;
    justify-content: space-between;
    margin-bottom: clamp(40px, 7vw, 82px);
}

.nith-company-logo img {
    display: block;
    filter: drop-shadow(0 14px 34px rgba(14, 165, 233, .28));
    height: clamp(70px, 8vw, 112px);
    max-width: 340px;
    object-fit: contain;
    width: clamp(190px, 24vw, 340px);
}

.nith-company-nav nav {
    align-items: center;
    background: rgba(2, 6, 23, .48);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 999px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px;
}

.nith-company-nav a {
    color: #eaf6ff;
    font-size: 14px;
    font-weight: 900;
    padding: 12px 16px;
    text-decoration: none;
}

.nith-company-panel,
.nith-company-actions a:first-child,
.nith-company-contact a {
    background: linear-gradient(135deg, #13d6a0, #0ea5e9 58%, #2563eb);
    border-radius: 14px;
    color: #02111f !important;
}

.nith-company-hero {
    align-items: center;
    display: grid;
    gap: clamp(28px, 5vw, 72px);
    grid-template-columns: minmax(0, 1fr) minmax(320px, .82fr);
}

.nith-company-copy > span,
.nith-company-platform span,
.nith-company-contact span {
    border: 1px solid rgba(34, 211, 238, .45);
    border-radius: 999px;
    color: #22d3ee;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    margin-bottom: 16px;
    padding: 8px 14px;
    text-transform: uppercase;
}

.nith-company-copy h1 {
    color: #ffffff;
    font-size: clamp(42px, 6vw, 78px);
    letter-spacing: -.055em;
    line-height: .98;
    margin: 0 0 22px;
}

.nith-company-copy p,
.nith-company-platform p,
.nith-company-contact p {
    color: #dbeafe;
    font-size: clamp(17px, 1.8vw, 22px);
    line-height: 1.65;
    margin: 0;
    max-width: 760px;
}

.nith-company-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.nith-company-actions a,
.nith-company-contact a {
    border: 1px solid rgba(125, 211, 252, .24);
    border-radius: 16px;
    color: #f8fafc;
    font-weight: 950;
    padding: 15px 20px;
    text-decoration: none;
}

.nith-company-card {
    background:
        radial-gradient(circle at center, rgba(56, 189, 248, .2), transparent 58%),
        linear-gradient(145deg, rgba(15, 23, 42, .72), rgba(8, 18, 34, .92));
    border: 1px solid rgba(125, 211, 252, .24);
    border-radius: 34px;
    box-shadow: 0 34px 100px rgba(0, 0, 0, .45);
    padding: clamp(18px, 3vw, 34px);
}

.nith-company-card img {
    border-radius: 24px;
    display: block;
    width: 100%;
}

.nith-company-services,
.nith-company-platform,
.nith-company-contact {
    margin-top: clamp(34px, 6vw, 86px);
}

.nith-company-services {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nith-company-services article,
.nith-company-platform,
.nith-company-contact {
    background: linear-gradient(145deg, rgba(15, 23, 42, .82), rgba(8, 18, 34, .88));
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 26px;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .32);
    padding: clamp(22px, 3vw, 34px);
}

.nith-company-services span {
    background: rgba(8, 47, 73, .54);
    border: 1px solid rgba(34, 211, 238, .28);
    border-radius: 999px;
    color: #67e8f9;
    display: inline-flex;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .12em;
    padding: 7px 11px;
    text-transform: uppercase;
}

.nith-company-services h2,
.nith-company-platform h2,
.nith-company-contact h2 {
    color: #ffffff;
    font-size: clamp(24px, 3vw, 40px);
    letter-spacing: -.04em;
    line-height: 1.08;
    margin: 10px 0 12px;
}

.nith-company-services p,
.nith-company-platform li {
    color: #dbeafe;
    line-height: 1.65;
}

.nith-company-platform {
    display: grid;
    gap: 26px;
    grid-template-columns: minmax(0, .95fr) minmax(280px, .7fr);
}

.nith-company-platform ul {
    display: grid;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nith-company-platform li {
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 16px;
    padding: 14px 16px;
}

.nith-company-contact {
    text-align: center;
}

.nith-company-contact p {
    margin: 0 auto 22px;
}

.nith-company-footer {
    color: #bfdbfe;
    margin-top: 34px;
    text-align: center;
}

/* Painel interativo da home NITH ERP */
.nith-erp-demo {
    background:
        radial-gradient(circle at 88% 10%, rgba(34, 211, 238, .14), transparent 35%),
        linear-gradient(145deg, rgba(2, 6, 23, .68), rgba(15, 23, 42, .88));
    border: 1px solid rgba(125, 211, 252, .2);
    border-radius: 28px;
    display: grid;
    gap: 0;
    grid-template-columns: 210px minmax(0, 1fr);
    margin-top: 24px;
    min-height: 360px;
    overflow: hidden;
}

.nith-erp-demo-menu {
    background: rgba(2, 6, 23, .52);
    border-right: 1px solid rgba(125, 211, 252, .14);
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 22px;
}

.nith-erp-demo-menu strong {
    color: #f8fafc;
    font-size: 15px;
    letter-spacing: .06em;
    margin-bottom: 12px;
}

.nith-erp-demo-menu button {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 14px;
    color: #dbeafe;
    cursor: pointer;
    font-weight: 900;
    padding: 13px 14px;
    text-align: left;
}

.nith-erp-demo-menu button.active,
.nith-erp-demo-menu button:hover {
    background: linear-gradient(135deg, rgba(20, 184, 166, .22), rgba(14, 165, 233, .22));
    border-color: rgba(34, 211, 238, .36);
    color: #ffffff;
}

.nith-erp-demo-screen {
    padding: clamp(22px, 4vw, 38px);
}

.nith-erp-demo-head span {
    color: #22d3ee;
    display: inline-block;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.nith-erp-demo-head h3 {
    color: #ffffff;
    font-size: clamp(28px, 4vw, 44px);
    letter-spacing: -.045em;
    margin: 0 0 8px;
}

.nith-erp-demo-head p {
    color: #dbeafe;
    line-height: 1.65;
    margin: 0 0 24px;
    max-width: 680px;
}

.nith-erp-demo-cards {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nith-erp-demo-cards article {
    background: rgba(15, 23, 42, .72);
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 18px;
    padding: 18px;
}

.nith-erp-demo-cards span {
    color: #bfdbfe;
    display: block;
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.nith-erp-demo-cards b {
    color: #ffffff;
    font-size: 24px;
}

.nith-erp-demo-chart {
    align-items: end;
    border: 1px solid rgba(125, 211, 252, .12);
    border-radius: 22px;
    display: flex;
    gap: 14px;
    height: 120px;
    margin-top: 20px;
    padding: 18px 22px;
}

.nith-erp-demo-chart span {
    background: linear-gradient(180deg, #22d3ee, #2563eb);
    border-radius: 999px 999px 6px 6px;
    display: block;
    flex: 1;
}

.nith-erp-demo-chart span:nth-child(1) { height: 42%; }
.nith-erp-demo-chart span:nth-child(2) { height: 72%; }
.nith-erp-demo-chart span:nth-child(3) { height: 56%; }
.nith-erp-demo-chart span:nth-child(4) { height: 88%; }

@media (max-width: 900px) {
    .nith-company-nav,
    .nith-company-nav nav,
    .nith-company-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .nith-company-hero,
    .nith-company-services,
    .nith-company-platform,
    .nith-erp-demo {
        grid-template-columns: 1fr;
    }

    .nith-erp-demo-menu {
        border-bottom: 1px solid rgba(125, 211, 252, .14);
        border-right: 0;
        flex-direction: row;
        overflow-x: auto;
    }

    .nith-erp-demo-menu strong {
        display: none;
    }

    .nith-erp-demo-menu button {
        white-space: nowrap;
    }

    .nith-erp-demo-cards {
        grid-template-columns: 1fr;
    }
}

/* Página pública NITH - acabamento institucional */
.nith-company-page {
    background:
        radial-gradient(circle at 8% 16%, rgba(14, 165, 233, .28), transparent 30%),
        radial-gradient(circle at 84% 14%, rgba(37, 99, 235, .28), transparent 34%),
        radial-gradient(circle at 76% 86%, rgba(20, 184, 166, .16), transparent 34%),
        linear-gradient(135deg, #020617 0%, #071426 48%, #062a34 100%);
    overflow-x: hidden;
    position: relative;
}

.nith-company-page::before,
.nith-company-page::after {
    content: "";
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.nith-company-page::before {
    animation: nithCompanyGlow 9s ease-in-out infinite alternate;
    background:
        linear-gradient(120deg, transparent 0%, rgba(56, 189, 248, .16) 47%, transparent 55%),
        linear-gradient(20deg, transparent 0%, rgba(37, 99, 235, .18) 48%, transparent 58%);
    filter: blur(1px);
    height: 120vh;
    inset: -12vh -12vw auto auto;
    transform: rotate(-7deg);
    width: 66vw;
}

.nith-company-page::after {
    background: radial-gradient(circle, rgba(34, 211, 238, .18), transparent 58%);
    bottom: -220px;
    filter: blur(18px);
    height: 440px;
    left: -160px;
    width: 440px;
}

@keyframes nithCompanyGlow {
    from { opacity: .55; transform: translate3d(0, 0, 0) rotate(-7deg); }
    to { opacity: 1; transform: translate3d(-18px, 22px, 0) rotate(-5deg); }
}

.nith-company-shell {
    max-width: 1500px;
    padding: clamp(18px, 3vw, 46px);
    position: relative;
    z-index: 1;
}

.nith-company-nav {
    align-items: center;
    background: rgba(2, 6, 23, .48);
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 30px;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .28);
    display: grid;
    gap: 18px;
    grid-template-columns: auto 1fr;
    margin-bottom: clamp(34px, 5vw, 76px);
    padding: 12px 14px;
    position: sticky;
    top: 14px;
    z-index: 1000;
}

.nith-company-logo {
    align-items: center;
    display: inline-flex;
    padding: 0;
}

.nith-company-logo img {
    filter: drop-shadow(0 18px 44px rgba(14, 165, 233, .34));
    height: clamp(86px, 8.6vw, 148px);
    max-width: none;
    object-fit: contain;
    width: clamp(270px, 30vw, 520px);
}

.nith-company-nav nav {
    background: rgba(8, 18, 34, .72);
    border-color: rgba(125, 211, 252, .18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    justify-self: end;
}

.nith-company-nav a {
    border-radius: 999px;
    color: #f2f8ff;
    letter-spacing: .02em;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.nith-company-nav a:hover {
    background: rgba(14, 165, 233, .18);
    color: #ffffff;
    transform: translateY(-1px);
}

.nith-company-panel {
    box-shadow: 0 14px 34px rgba(14, 165, 233, .22);
}

.nith-company-menu-toggle {
    align-items: center;
    background: linear-gradient(145deg, rgba(15, 23, 42, .9), rgba(8, 28, 48, .94));
    border: 1px solid rgba(34, 211, 238, .36);
    border-radius: 18px;
    box-shadow: 0 18px 40px rgba(2, 6, 23, .32);
    cursor: pointer;
    display: none;
    flex-direction: column;
    gap: 5px;
    height: 52px;
    justify-content: center;
    width: 56px;
}

.nith-company-menu-toggle span {
    background: #67e8f9;
    border-radius: 999px;
    box-shadow: 0 0 14px rgba(34, 211, 238, .32);
    display: block;
    height: 2px;
    transition: transform .2s ease, opacity .2s ease;
    width: 24px;
}

.nith-company-menu-open .nith-company-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.nith-company-menu-open .nith-company-menu-toggle span:nth-child(2) {
    opacity: 0;
}

.nith-company-menu-open .nith-company-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.nith-company-menu-backdrop {
    background: rgba(2, 6, 23, .58);
    backdrop-filter: blur(7px);
    inset: 0;
    position: fixed;
    z-index: 1001;
}

.nith-company-menu-backdrop[hidden] {
    display: none !important;
}

.nith-company-hero {
    align-items: center;
    grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
    min-height: calc(100vh - 220px);
}

.nith-company-copy > span,
.nith-company-platform span,
.nith-company-contact span {
    background: rgba(8, 47, 73, .52);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 24px rgba(14, 165, 233, .12);
}

.nith-company-copy h1 {
    font-size: clamp(54px, 6.8vw, 104px);
    max-width: 930px;
    text-shadow: 0 22px 70px rgba(15, 23, 42, .8);
}

.nith-company-copy p {
    color: #edf7ff;
    font-size: clamp(18px, 1.6vw, 24px);
    max-width: 820px;
}

.nith-company-actions a,
.nith-company-contact a {
    box-shadow: 0 18px 38px rgba(14, 165, 233, .18);
    min-height: 52px;
}

.nith-company-actions a:nth-child(2) {
    background: rgba(15, 23, 42, .62);
    color: #f8fafc !important;
}

.nith-company-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.nith-company-trust span {
    background: rgba(15, 23, 42, .72);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 999px;
    color: #eaf6ff;
    font-size: 13px;
    font-weight: 900;
    padding: 10px 14px;
}

.nith-company-card {
    animation: nithCompanyCardFloat 5.5s ease-in-out infinite alternate;
    min-height: 520px;
    overflow: hidden;
    padding: clamp(26px, 4vw, 56px);
    position: relative;
    transform: perspective(1100px) rotateY(-7deg) rotateX(2deg);
}

@keyframes nithCompanyCardFloat {
    from { transform: perspective(1100px) rotateY(-7deg) rotateX(2deg) translateY(0); }
    to { transform: perspective(1100px) rotateY(-4deg) rotateX(1deg) translateY(-12px); }
}

.nith-company-card::before {
    background:
        linear-gradient(90deg, transparent, rgba(34, 211, 238, .22), transparent),
        radial-gradient(circle at 60% 38%, rgba(34, 211, 238, .2), transparent 34%);
    content: "";
    inset: 0;
    position: absolute;
}

.nith-company-card::after {
    background: rgba(2, 6, 23, .48);
    border: 1px solid rgba(125, 211, 252, .12);
    border-radius: 28px;
    content: "";
    inset: 28px;
    position: absolute;
}

.nith-company-card img {
    border-radius: 0;
    filter: drop-shadow(0 26px 60px rgba(14, 165, 233, .28));
    margin: 0 auto;
    max-width: 620px;
    position: relative;
    transform: scale(1.08);
    width: 100%;
    z-index: 2;
}

.nith-company-mini-panel {
    background: rgba(2, 6, 23, .68);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 20px;
    bottom: 32px;
    box-shadow: 0 22px 60px rgba(2, 6, 23, .42);
    color: #f8fafc;
    left: 32px;
    padding: 18px;
    position: absolute;
    width: min(300px, calc(100% - 64px));
    z-index: 3;
}

.nith-company-mini-panel strong {
    display: block;
    font-size: 14px;
    margin-bottom: 12px;
}

.nith-company-mini-panel div {
    display: grid;
    gap: 8px;
}

.nith-company-mini-panel div span {
    background: linear-gradient(90deg, #22d3ee, rgba(37, 99, 235, .16));
    border-radius: 999px;
    display: block;
    height: 8px;
}

.nith-company-mini-panel div span:nth-child(2) { width: 76%; }
.nith-company-mini-panel div span:nth-child(3) { width: 52%; }

.nith-company-mini-panel small {
    color: #bfdbfe;
    display: block;
    margin-top: 12px;
}

.nith-company-services article,
.nith-company-platform,
.nith-company-contact {
    backdrop-filter: blur(16px);
    background:
        radial-gradient(circle at 18% 0%, rgba(34, 211, 238, .08), transparent 30%),
        linear-gradient(145deg, rgba(15, 23, 42, .88), rgba(8, 18, 34, .9));
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.nith-company-services article:hover {
    border-color: rgba(34, 211, 238, .38);
    box-shadow: 0 32px 90px rgba(2, 6, 23, .46);
    transform: translateY(-5px);
}

.nith-company-services p,
.nith-company-platform li,
.nith-company-platform p,
.nith-company-contact p {
    color: #e5f2ff;
}

.nith-company-process,
.nith-company-agency,
.nith-company-faq {
    margin-top: clamp(42px, 7vw, 96px);
}

.nith-company-section-head {
    margin: 0 auto 26px;
    max-width: 820px;
    text-align: center;
}

.nith-company-section-head span,
.nith-company-agency-copy > span {
    border: 1px solid rgba(34, 211, 238, .45);
    border-radius: 999px;
    color: #22d3ee;
    display: inline-flex;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .1em;
    margin-bottom: 14px;
    padding: 8px 14px;
    text-transform: uppercase;
}

.nith-company-section-head h2,
.nith-company-agency-copy h2 {
    color: #ffffff;
    font-size: clamp(30px, 4.2vw, 56px);
    letter-spacing: -.045em;
    line-height: 1.02;
    margin: 0 0 12px;
}

.nith-company-section-head p {
    color: #e5f2ff;
    font-size: 18px;
    line-height: 1.65;
    margin: 0 auto;
}

.nith-company-process-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nith-company-process-grid article {
    background:
        radial-gradient(circle at 16% 0%, rgba(34, 211, 238, .12), transparent 32%),
        linear-gradient(145deg, rgba(15, 23, 42, .9), rgba(8, 18, 34, .92));
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 26px;
    box-shadow: 0 22px 70px rgba(2, 6, 23, .32);
    min-height: 230px;
    padding: clamp(22px, 3vw, 34px);
    transition: transform .22s ease, border-color .22s ease;
}

.nith-company-process-grid article:hover {
    border-color: rgba(34, 211, 238, .42);
    transform: translateY(-4px);
}

.nith-company-process-grid b {
    align-items: center;
    background: linear-gradient(135deg, rgba(20, 184, 166, .28), rgba(14, 165, 233, .24));
    border: 1px solid rgba(125, 211, 252, .28);
    border-radius: 16px;
    color: #67e8f9;
    display: inline-flex;
    font-size: 14px;
    height: 42px;
    justify-content: center;
    margin-bottom: 20px;
    width: 48px;
}

.nith-company-process-grid h3,
.nith-company-feature-list strong,
.nith-company-faq summary {
    color: #ffffff;
    font-size: 20px;
    font-weight: 950;
    line-height: 1.2;
    margin: 0 0 12px;
}

.nith-company-process-grid p,
.nith-company-feature-list p,
.nith-company-faq p {
    color: #dcecff;
    line-height: 1.7;
    margin: 0;
}

.nith-company-agency {
    align-items: center;
    background:
        radial-gradient(circle at 20% 36%, rgba(14, 165, 233, .18), transparent 34%),
        linear-gradient(135deg, rgba(3, 48, 82, .92), rgba(4, 22, 44, .96));
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 34px;
    display: grid;
    gap: clamp(28px, 5vw, 70px);
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1fr);
    overflow: hidden;
    padding: clamp(28px, 5vw, 70px);
    position: relative;
}

.nith-company-agency::before {
    background:
        radial-gradient(circle, rgba(34, 211, 238, .18), transparent 58%),
        linear-gradient(110deg, transparent 0%, rgba(37, 99, 235, .18) 48%, transparent 54%);
    content: "";
    inset: -20%;
    opacity: .72;
    position: absolute;
}

.nith-company-astronaut,
.nith-company-agency-copy {
    position: relative;
    z-index: 1;
}

.nith-company-astronaut {
    animation: nithAstronautFloat 4.6s ease-in-out infinite alternate;
    height: 430px;
    margin: 0 auto;
    max-width: 390px;
    width: 100%;
}

@keyframes nithAstronautFloat {
    from { transform: translateY(0) rotate(-1deg); }
    to { transform: translateY(-16px) rotate(1deg); }
}

.nith-company-orbit {
    background: rgba(14, 165, 233, .14);
    border-radius: 50%;
    height: 270px;
    left: 50%;
    position: absolute;
    top: 56px;
    transform: translateX(-50%);
    width: 270px;
}

.nith-company-helmet {
    background:
        radial-gradient(circle at 64% 30%, rgba(255,255,255,.55), transparent 12%),
        linear-gradient(135deg, #2a143d, #09061a);
    border: 7px solid #f8fafc;
    border-radius: 46% 54% 52% 48%;
    box-shadow: 0 0 0 5px rgba(88, 28, 135, .62);
    height: 118px;
    left: 138px;
    position: absolute;
    top: 144px;
    transform: rotate(-13deg);
    width: 126px;
}

.nith-company-body {
    background: linear-gradient(135deg, #ffffff, #dbeafe);
    border: 5px solid rgba(88, 28, 135, .82);
    border-radius: 44px 38px 50px 50px;
    height: 112px;
    left: 132px;
    position: absolute;
    top: 230px;
    transform: rotate(-15deg);
    width: 92px;
}

.nith-company-arm {
    background: #f8fafc;
    border: 5px solid rgba(88, 28, 135, .82);
    border-radius: 999px;
    height: 108px;
    left: 214px;
    position: absolute;
    top: 178px;
    transform: rotate(-28deg);
    width: 28px;
}

.nith-company-leg {
    background: #f8fafc;
    border: 5px solid rgba(88, 28, 135, .82);
    border-radius: 999px;
    height: 78px;
    position: absolute;
    top: 320px;
    width: 30px;
}

.nith-company-leg-one {
    left: 142px;
    transform: rotate(18deg);
}

.nith-company-leg-two {
    left: 194px;
    transform: rotate(-18deg);
}

.nith-company-balloon {
    border: 5px solid rgba(88, 28, 135, .72);
    border-radius: 50% 50% 48% 52%;
    box-shadow: inset 12px 12px 0 rgba(255,255,255,.2);
    height: 84px;
    position: absolute;
    top: 34px;
    width: 78px;
}

.nith-company-balloon-one {
    background: #ef4444;
    left: 150px;
}

.nith-company-balloon-two {
    background: #22d3ee;
    left: 196px;
    top: 18px;
}

.nith-company-balloon-three {
    background: #facc15;
    left: 184px;
    top: 78px;
}

.nith-company-star {
    background: #facc15;
    clip-path: polygon(50% 0%, 61% 36%, 98% 50%, 61% 64%, 50% 100%, 39% 64%, 2% 50%, 39% 36%);
    height: 28px;
    position: absolute;
    width: 28px;
}

.nith-company-star-one {
    left: 58px;
    top: 190px;
}

.nith-company-star-two {
    right: 48px;
    top: 214px;
}

.nith-company-feature-list {
    display: grid;
    gap: 22px;
    max-height: 390px;
    overflow-y: auto;
    padding-right: 10px;
    scrollbar-width: none;
}

.nith-company-feature-list::-webkit-scrollbar {
    display: none;
}

.nith-company-feature-list article {
    border-bottom: 1px solid rgba(125, 211, 252, .14);
    padding-bottom: 22px;
}

.nith-company-feature-list article:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.nith-company-faq-grid {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nith-company-faq details {
    background: linear-gradient(145deg, rgba(15, 23, 42, .88), rgba(8, 18, 34, .92));
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 24px;
    padding: 22px 24px;
}

.nith-company-faq summary {
    cursor: pointer;
    list-style: none;
    padding-right: 36px;
    position: relative;
}

.nith-company-faq summary::-webkit-details-marker {
    display: none;
}

.nith-company-faq summary::after {
    color: #22d3ee;
    content: "+";
    font-size: 28px;
    line-height: 1;
    position: absolute;
    right: 0;
    top: -3px;
}

.nith-company-faq details[open] summary::after {
    content: "−";
}

.nith-company-faq p {
    margin-top: 16px;
}

.nith-company-avatar {
    animation: nithAvatarFloat 4.8s ease-in-out infinite alternate;
    height: 430px;
    margin: 0 auto;
    max-width: 410px;
    position: relative;
    width: 100%;
}

@keyframes nithAvatarFloat {
    from { transform: translateY(0); }
    to { transform: translateY(-14px); }
}

.nith-company-avatar-glow {
    background:
        radial-gradient(circle, rgba(34, 211, 238, .28), transparent 58%),
        radial-gradient(circle at 65% 36%, rgba(37, 99, 235, .3), transparent 34%);
    border-radius: 50%;
    filter: blur(2px);
    height: 310px;
    left: 50%;
    position: absolute;
    top: 56px;
    transform: translateX(-50%);
    width: 310px;
}

.nith-company-avatar-ring {
    animation: nithAvatarSpin 10s linear infinite;
    border: 2px solid rgba(34, 211, 238, .22);
    border-left-color: #22d3ee;
    border-radius: 50%;
    height: 300px;
    left: 50%;
    position: absolute;
    top: 60px;
    transform: translateX(-50%);
    width: 300px;
}

@keyframes nithAvatarSpin {
    from { transform: translateX(-50%) rotate(0deg); }
    to { transform: translateX(-50%) rotate(360deg); }
}

.nith-company-avatar-head {
    background:
        linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(3, 34, 60, .98)),
        radial-gradient(circle at 30% 20%, rgba(103, 232, 249, .22), transparent 30%);
    border: 2px solid rgba(103, 232, 249, .55);
    border-radius: 32px;
    box-shadow: 0 0 0 10px rgba(14, 165, 233, .08), 0 28px 70px rgba(2, 6, 23, .55);
    height: 138px;
    left: 50%;
    position: absolute;
    top: 88px;
    transform: translateX(-50%);
    width: 190px;
}

.nith-company-avatar-head::before {
    background: linear-gradient(180deg, #22d3ee, #2563eb);
    border-radius: 999px;
    content: "";
    height: 42px;
    left: 50%;
    position: absolute;
    top: -44px;
    transform: translateX(-50%);
    width: 4px;
}

.nith-company-avatar-head::after {
    background: #67e8f9;
    border-radius: 50%;
    box-shadow: 0 0 24px rgba(34, 211, 238, .9);
    content: "";
    height: 18px;
    left: 50%;
    position: absolute;
    top: -58px;
    transform: translateX(-50%);
    width: 18px;
}

.nith-company-avatar-eye {
    animation: nithAvatarBlink 3.8s ease-in-out infinite;
    background: #67e8f9;
    border-radius: 999px;
    box-shadow: 0 0 20px rgba(34, 211, 238, .8);
    height: 20px;
    position: absolute;
    top: 54px;
    width: 34px;
}

.nith-company-avatar-eye:nth-child(1) {
    left: 44px;
}

.nith-company-avatar-eye:nth-child(2) {
    right: 44px;
}

@keyframes nithAvatarBlink {
    0%, 88%, 100% { transform: scaleY(1); }
    92% { transform: scaleY(.18); }
}

.nith-company-avatar-signal {
    background: linear-gradient(90deg, #13d6a0, #22d3ee);
    border-radius: 999px;
    bottom: 34px;
    height: 8px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 78px;
}

.nith-company-avatar-body {
    background:
        radial-gradient(circle at 50% 0%, rgba(34, 211, 238, .16), transparent 35%),
        linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(8, 18, 34, .98));
    border: 1px solid rgba(125, 211, 252, .3);
    border-radius: 34px;
    box-shadow: 0 26px 80px rgba(2, 6, 23, .5);
    display: grid;
    gap: 12px;
    left: 50%;
    padding: 28px;
    position: absolute;
    top: 244px;
    transform: translateX(-50%);
    width: 250px;
}

.nith-company-avatar-body span {
    background: linear-gradient(90deg, #22d3ee, rgba(37, 99, 235, .18));
    border-radius: 999px;
    height: 10px;
}

.nith-company-avatar-body span:nth-child(2) {
    width: 72%;
}

.nith-company-avatar-body span:nth-child(3) {
    width: 48%;
}

.nith-company-avatar-chip {
    animation: nithAvatarChip 4s ease-in-out infinite alternate;
    background: rgba(2, 6, 23, .78);
    border: 1px solid rgba(34, 211, 238, .28);
    border-radius: 999px;
    box-shadow: 0 18px 42px rgba(2, 6, 23, .42);
    color: #eaf6ff;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    padding: 10px 14px;
    position: absolute;
}

@keyframes nithAvatarChip {
    from { transform: translateY(0); }
    to { transform: translateY(-10px); }
}

.nith-company-avatar-chip-one {
    left: 18px;
    top: 110px;
}

.nith-company-avatar-chip-two {
    right: 10px;
    top: 190px;
}

.nith-company-avatar-chip-three {
    bottom: 58px;
    left: 40px;
}

/* Correção de proporção da página pública NITH */
.nith-company-page .nith-company-nav {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    justify-content: space-between;
    margin-bottom: clamp(34px, 5vw, 64px);
    padding: 0;
    position: relative;
    top: auto;
}

.nith-company-page .nith-company-logo {
    cursor: default;
    flex: 0 0 auto;
    position: relative;
}

.nith-company-page .nith-company-logo img {
    filter: drop-shadow(0 12px 28px rgba(14, 165, 233, .38));
    height: auto;
    max-height: none;
    max-width: none;
    width: clamp(190px, 18vw, 310px);
}

.nith-company-page .nith-company-logo-digital {
    bottom: -5px;
    color: #22d3ee;
    font-size: clamp(10px, 1vw, 15px);
    font-weight: 950;
    left: 52%;
    letter-spacing: .42em;
    position: absolute;
    text-shadow: 0 0 14px rgba(34, 211, 238, .5), 0 4px 16px rgba(2, 6, 23, .9);
    transform: translateX(-50%);
}

.nith-company-page .nith-company-nav nav {
    background: rgba(2, 6, 23, .58);
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 999px;
    box-shadow: none;
    padding: 7px;
}

.nith-company-page .nith-company-hero {
    grid-template-columns: minmax(0, .98fr) minmax(360px, .86fr);
    min-height: auto;
}

.nith-company-page .nith-company-copy h1 {
    font-size: clamp(42px, 5.2vw, 76px);
    line-height: 1;
}

.nith-company-page .nith-company-copy p {
    font-size: clamp(17px, 1.35vw, 20px);
}

.nith-company-page .nith-company-card {
    animation: none;
    min-height: 390px;
    transform: none;
}

.nith-company-page .nith-company-card img {
    max-width: 430px;
    transform: none;
}

.nith-company-page .nith-company-mini-panel {
    bottom: 24px;
}

@media (max-width: 980px) {
    .nith-company-page .nith-company-nav {
        grid-template-columns: auto auto;
    }

    .nith-company-page .nith-company-menu-toggle {
        display: inline-flex;
        justify-self: end;
    }

    .nith-company-page .nith-company-nav nav {
        align-items: stretch;
        background:
            radial-gradient(circle at 10% 0%, rgba(34, 211, 238, .12), transparent 30%),
            linear-gradient(180deg, #020617, #061426);
        border: 1px solid rgba(125, 211, 252, .2);
        border-radius: 0 24px 24px 0;
        bottom: auto;
        box-shadow: 26px 0 80px rgba(0,0,0,.46);
        display: flex;
        flex-direction: column;
        gap: 10px;
        justify-content: flex-start;
        left: 0;
        max-width: 340px;
        overflow-y: auto;
        padding: 24px 16px;
        position: fixed;
        top: 0;
        transform: translateX(-110%);
        transition: transform .24s ease;
        width: min(78vw, 300px);
        z-index: 1002;
    }

    .nith-company-page.nith-company-menu-open .nith-company-nav nav,
    .nith-company-menu-open .nith-company-page .nith-company-nav nav {
        transform: translateX(0);
    }

    .nith-company-page .nith-company-nav a {
        border: 1px solid rgba(125, 211, 252, .14);
        border-radius: 16px;
        padding: 13px 14px;
    }

    .nith-company-page .nith-company-panel {
        text-align: center;
    }

    .nith-company-page .nith-company-hero {
        min-height: auto;
    }
}

@media (max-width: 760px) {
    .nith-company-page {
        background:
            radial-gradient(circle at 8% 0%, rgba(14, 165, 233, .22), transparent 34%),
            linear-gradient(150deg, #020617 0%, #07162a 58%, #062b31 100%);
    }

    .nith-company-page::before,
    .nith-company-page::after {
        display: none;
    }

    .nith-company-page .nith-company-shell {
        padding: 16px;
    }

    .nith-company-page .nith-company-nav {
        align-items: center;
        flex-direction: row;
        margin-bottom: 28px;
    }

    .nith-company-page .nith-company-logo img {
        height: auto;
        max-width: 142px;
        width: 142px;
    }

    .nith-company-page .nith-company-logo-digital {
        bottom: -2px;
        font-size: 7px;
        letter-spacing: .3em;
    }

    .nith-company-page .nith-company-menu-toggle {
        border-radius: 14px;
        height: 44px;
        width: 46px;
    }

    .nith-company-page .nith-company-menu-toggle span {
        width: 20px;
    }

    .nith-company-page .nith-company-menu-backdrop {
        background: rgba(2, 6, 23, .36);
        backdrop-filter: none;
    }

    .nith-company-page .nith-company-nav nav {
        box-shadow: 18px 0 44px rgba(0,0,0,.34);
        max-height: 100dvh;
        padding-top: 18px;
        width: min(74vw, 270px);
    }

    .nith-company-page .nith-company-hero {
        gap: 28px;
        grid-template-columns: 1fr;
    }

    .nith-company-page .nith-company-copy > span {
        font-size: 10px;
        margin-bottom: 12px;
        padding: 7px 11px;
    }

    .nith-company-page .nith-company-copy h1 {
        font-size: clamp(34px, 10vw, 44px);
        letter-spacing: -.045em;
        line-height: 1.02;
        margin-bottom: 16px;
    }

    .nith-company-page .nith-company-copy p {
        font-size: 15px;
        line-height: 1.55;
    }

    .nith-company-page .nith-company-actions {
        gap: 10px;
        margin-top: 20px;
    }

    .nith-company-page .nith-company-actions a {
        justify-content: center;
        min-height: 48px;
        padding: 13px 14px;
        width: 100%;
    }

    .nith-company-page .nith-company-trust {
        gap: 8px;
        margin-top: 16px;
    }

    .nith-company-page .nith-company-trust span {
        flex: 1 1 calc(50% - 10px);
        font-size: 11px;
        padding: 8px 9px;
        text-align: center;
    }

    .nith-company-page .nith-company-card {
        border-radius: 24px;
        min-height: 320px;
        padding: 24px;
    }

    .nith-company-page .nith-company-card::after {
        border-radius: 22px;
        inset: 16px;
    }

    .nith-company-page .nith-company-card img {
        max-width: 300px;
        transform: translateY(-8px);
    }

    .nith-company-page .nith-company-mini-panel {
        bottom: 18px;
        display: block;
        left: 18px;
        padding: 14px;
        width: min(250px, calc(100% - 36px));
    }

    .nith-company-page .nith-company-mini-panel strong {
        font-size: 13px;
        margin-bottom: 9px;
    }

    .nith-company-page .nith-company-mini-panel div {
        gap: 7px;
    }

    .nith-company-page .nith-company-mini-panel div span {
        height: 7px;
    }

    .nith-company-page .nith-company-mini-panel small {
        font-size: 12px;
        margin-top: 10px;
    }

    .nith-company-page .nith-company-services {
        grid-template-columns: 1fr;
    }

    .nith-company-page .nith-company-services article,
    .nith-company-page .nith-company-platform,
    .nith-company-page .nith-company-contact,
    .nith-company-page .nith-company-process-grid article,
    .nith-company-page .nith-company-faq details {
        border-radius: 20px;
        padding: 20px;
    }

    .nith-company-page .nith-company-platform,
    .nith-company-page .nith-company-agency,
    .nith-company-page .nith-company-process-grid,
    .nith-company-page .nith-company-faq-grid {
        grid-template-columns: 1fr;
    }

    .nith-company-page .nith-company-agency {
        border-radius: 24px;
        padding: 24px 18px;
    }

    .nith-company-page .nith-company-avatar {
        height: 300px;
        max-width: 280px;
    }

    .nith-company-page .nith-company-avatar-glow {
        height: 220px;
        top: 38px;
        width: 220px;
    }

    .nith-company-page .nith-company-avatar-ring {
        height: 214px;
        top: 42px;
        width: 214px;
    }

    .nith-company-page .nith-company-avatar-head {
        border-radius: 24px;
        height: 96px;
        top: 70px;
        width: 140px;
    }

    .nith-company-page .nith-company-avatar-eye {
        height: 14px;
        top: 38px;
        width: 25px;
    }

    .nith-company-page .nith-company-avatar-eye:nth-child(1) {
        left: 32px;
    }

    .nith-company-page .nith-company-avatar-eye:nth-child(2) {
        right: 32px;
    }

    .nith-company-page .nith-company-avatar-body {
        border-radius: 24px;
        gap: 9px;
        padding: 20px;
        top: 184px;
        width: 190px;
    }

    .nith-company-page .nith-company-avatar-chip {
        font-size: 10px;
        padding: 7px 10px;
    }

    .nith-company-page .nith-company-avatar-chip-one {
        left: 4px;
        top: 84px;
    }

    .nith-company-page .nith-company-avatar-chip-two {
        right: 0;
        top: 146px;
    }

    .nith-company-page .nith-company-avatar-chip-three {
        bottom: 34px;
        left: 24px;
    }

    .nith-company-page .nith-company-section-head {
        text-align: left;
    }
}

/* Avatar real do robô NITH */
.nith-company-page .nith-company-avatar {
    --robot-x: 0px;
    --robot-y: 0px;
    --robot-rotate: 0deg;
    animation: nithRobotImageFloat 4.4s ease-in-out infinite alternate;
    height: 460px;
    max-width: 440px;
    perspective: 900px;
}

@keyframes nithRobotImageFloat {
    from { transform: translateY(0); }
    to { transform: translateY(-16px); }
}

.nith-company-page .nith-company-avatar-glow {
    background:
        radial-gradient(circle, rgba(34, 211, 238, .28), transparent 56%),
        radial-gradient(circle at 60% 44%, rgba(37, 99, 235, .24), transparent 36%);
    filter: blur(8px);
    height: 340px;
    top: 64px;
    width: 340px;
}

.nith-company-page .nith-company-avatar-ring {
    animation: nithRobotRingSpin 12s linear infinite;
    border: 2px solid rgba(125, 211, 252, .14);
    border-left-color: rgba(34, 211, 238, .72);
    border-right-color: rgba(37, 99, 235, .48);
    height: 450px;
    top: -2px;
    width: 450px;
}

@keyframes nithRobotRingSpin {
    from { transform: translateX(-50%) rotate(0deg); }
    to { transform: translateX(-50%) rotate(360deg); }
}

.nith-company-page .nith-company-robot-image {
    animation: nithRobotWaveFeel 2.8s ease-in-out infinite alternate;
    display: block;
    filter: drop-shadow(0 30px 60px rgba(2, 6, 23, .42)) drop-shadow(0 0 26px rgba(34, 211, 238, .18));
    height: auto;
    left: 50%;
    max-width: 390px;
    position: absolute;
    top: 14px;
    transform: translate3d(calc(-50% + var(--robot-x)), var(--robot-y), 0) rotate(var(--robot-rotate));
    transition: transform .12s ease-out;
    width: 92%;
    z-index: 3;
}

.nith-company-page .nith-company-avatar-ring,
.nith-company-page .nith-company-avatar-chip {
    display: none !important;
}

/* Refinamento visual da página institucional NITH */
.nith-company-page .nith-company-logo-digital {
    display: none !important;
}

.nith-company-page .nith-company-copy h1 {
    color: #eaf3ff;
    background: linear-gradient(180deg, #ffffff 0%, #eef7ff 38%, #c8dcf3 100%);
    -webkit-background-clip: text;
    background-clip: text;
    text-shadow: 0 18px 56px rgba(2, 6, 23, .72);
}

.nith-company-page .nith-company-copy p {
    color: #d8e8f8;
    text-shadow: 0 10px 30px rgba(2, 6, 23, .5);
}

.nith-company-page .nith-company-agency-copy h2,
.nith-company-page .nith-company-section-head h2,
.nith-company-page .nith-company-contact h2,
.nith-company-page .nith-company-services h2 {
    color: #edf6ff;
}

.nith-company-page .nith-company-feature-list strong,
.nith-company-page .nith-company-process-grid h3,
.nith-company-page .nith-company-faq summary {
    color: #eaf3ff;
}

.nith-company-page .nith-company-feature-list p,
.nith-company-page .nith-company-process-grid p,
.nith-company-page .nith-company-faq p,
.nith-company-page .nith-company-services p {
    color: #cfe1f2;
}

.nith-company-page .nith-robot-blink-eye {
    animation: nithRobotBlinkOverlay 5.2s ease-in-out infinite;
    background:
        radial-gradient(circle at 50% 45%, rgba(6, 182, 212, .18), transparent 40%),
        linear-gradient(145deg, #071a3d, #020617);
    border-radius: 999px;
    height: 36px;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 152px;
    transform: translate3d(calc(var(--robot-x) * .35), calc(var(--robot-y) * .35), 0) scaleY(.12);
    transform-origin: center;
    width: 30px;
    z-index: 5;
}

.nith-company-page .nith-robot-blink-eye-left {
    left: 159px;
}

.nith-company-page .nith-robot-blink-eye-right {
    right: 145px;
}

@keyframes nithRobotBlinkOverlay {
    0%, 88%, 96%, 100% { opacity: 0; transform: translate3d(calc(var(--robot-x) * .35), calc(var(--robot-y) * .35), 0) scaleY(.12); }
    91%, 93% { opacity: 1; transform: translate3d(calc(var(--robot-x) * .35), calc(var(--robot-y) * .35), 0) scaleY(1); }
}

@keyframes nithRobotWaveFeel {
    from { margin-top: 0; }
    to { margin-top: -8px; }
}

.nith-company-page .nith-company-avatar-head,
.nith-company-page .nith-company-avatar-body,
.nith-company-page .nith-company-robot-ear,
.nith-company-page .nith-company-robot-top,
.nith-company-page .nith-company-robot-face,
.nith-company-page .nith-company-avatar-eye,
.nith-company-page .nith-company-robot-smile,
.nith-company-page .nith-company-robot-arm,
.nith-company-page .nith-company-robot-leg,
.nith-company-page .nith-company-robot-core,
.nith-company-page .nith-company-robot-dot {
    display: none !important;
}

.nith-company-page .nith-company-avatar-chip {
    z-index: 4;
}

.nith-company-page .nith-company-avatar-chip-one {
    left: 20px;
    top: 112px;
}

.nith-company-page .nith-company-avatar-chip-two {
    right: 6px;
    top: 226px;
}

.nith-company-page .nith-company-avatar-chip-three {
    bottom: 58px;
    left: 46px;
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-avatar {
        height: 340px;
        max-width: 310px;
    }

    .nith-company-page .nith-company-avatar-glow {
        height: 240px;
        top: 56px;
        width: 240px;
    }

    .nith-company-page .nith-company-avatar-ring {
        height: 320px;
        top: -2px;
        width: 320px;
    }

    .nith-company-page .nith-company-robot-image {
        max-width: 285px;
        top: 8px;
        width: 94%;
    }

    .nith-company-page .nith-robot-blink-eye {
        height: 26px;
        top: 112px;
        width: 22px;
    }

    .nith-company-page .nith-robot-blink-eye-left {
        left: 111px;
    }

    .nith-company-page .nith-robot-blink-eye-right {
        right: 101px;
    }

    .nith-company-page .nith-company-avatar-chip-one {
        left: 0;
        top: 80px;
    }

    .nith-company-page .nith-company-avatar-chip-two {
        right: 0;
        top: 170px;
    }

    .nith-company-page .nith-company-avatar-chip-three {
        bottom: 42px;
        left: 24px;
    }
}

/* Checkout transparente Asaas */
.payment-container {
    width: min(1080px, calc(100% - 32px));
}

.transparent-checkout-card {
    background:
        radial-gradient(circle at 14% 0%, rgba(34, 211, 238, .14), transparent 30%),
        linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(8, 18, 34, .92)) !important;
    border-color: rgba(125, 211, 252, .24) !important;
    box-shadow: 0 30px 80px rgba(2, 6, 23, .46), 0 0 0 1px rgba(255,255,255,.03) inset !important;
    max-width: 1040px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.transparent-checkout-card .brand {
    align-items: flex-start;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 18px;
}

.transparent-checkout-card .brand h1 {
    font-size: clamp(30px, 4vw, 52px);
    letter-spacing: -.055em;
    line-height: .98;
    margin-top: 8px;
}

.checkout-price {
    align-items: baseline;
    color: #67e8f9;
    display: flex;
    flex-shrink: 0;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 950;
    gap: 5px;
    letter-spacing: -.04em;
    line-height: 1;
    text-shadow: 0 0 22px rgba(34, 211, 238, .24);
}

.checkout-price small {
    color: #e2edf8;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
}

.checkout-card-brands {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 0;
}

.checkout-card-brands span {
    align-items: center;
    background: rgba(248, 250, 252, .96);
    border: 1px solid rgba(226, 232, 240, .8);
    border-radius: 7px;
    display: inline-flex;
    height: 24px;
    justify-content: center;
    opacity: .82;
    overflow: hidden;
    padding: 0;
    transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    width: 40px;
}

.checkout-card-brands img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.checkout-card-brands span.is-active {
    background: #fff;
    border-color: rgba(34, 211, 238, .7);
    box-shadow: 0 0 24px rgba(34, 211, 238, .18);
    opacity: 1;
    transform: translateY(-1px);
}

.checkout-payment-footer {
    align-items: center;
    border-top: 1px solid rgba(125, 211, 252, .16);
    color: #dbeafe;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    font-weight: 800;
    gap: 10px 12px;
    justify-content: flex-start;
    margin-top: 4px;
    padding-top: 14px;
}

.transparent-checkout-form {
    gap: 18px;
}

.checkout-section {
    background:
        linear-gradient(145deg, rgba(15, 23, 42, .8), rgba(10, 20, 38, .72));
    border: 1px solid rgba(56, 189, 248, .20);
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(2, 6, 23, .22);
    padding: 20px;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.checkout-section:focus-within {
    border-color: rgba(45, 212, 191, .64);
    box-shadow: 0 20px 56px rgba(20, 184, 166, .10);
    transform: translateY(-1px);
}

.checkout-section h2 {
    color: #f8fbff;
    font-size: 18px;
    margin: 0 0 15px;
}

.checkout-section .form-grid {
    gap: 16px;
}

.transparent-checkout-form input {
    min-height: 52px;
}

.transparent-checkout-form input[readonly] {
    background: rgba(15, 23, 42, .42);
    color: #dbeafe;
}

.transparent-checkout-form input.cep-found {
    border-color: rgba(34, 197, 94, .58);
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .10);
}

.checkout-security-note {
    color: #dbeafe;
    font-size: 13px;
    margin: 14px 0 0;
}

.checkout-actions {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.checkout-actions .button-primary,
.checkout-actions .button-secondary {
    min-height: 48px;
    min-width: 170px;
}

.checkout-actions .button-primary {
    background: linear-gradient(135deg, #22c55e, #22d3ee 46%, #2563eb) !important;
    box-shadow: 0 18px 38px rgba(34, 211, 238, .25) !important;
    color: #06111f !important;
    font-size: 16px;
    letter-spacing: .02em;
}

.checkout-actions .button-primary:disabled {
    cursor: wait;
    opacity: .78;
}

.checkout-processing-overlay {
    align-items: center;
    background: rgba(2, 6, 23, .68);
    backdrop-filter: blur(8px);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: absolute;
    z-index: 40;
}

.checkout-processing-overlay[hidden] {
    display: none;
}

.checkout-processing-card {
    align-items: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(34, 211, 238, .18), transparent 42%),
        linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(8, 18, 34, .98));
    border: 1px solid rgba(125, 211, 252, .35);
    border-radius: 28px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .42);
    color: #f8fbff;
    display: flex;
    flex-direction: column;
    max-width: 420px;
    min-height: 300px;
    padding: 34px 28px;
    text-align: center;
    width: min(100%, 420px);
}

.checkout-processing-icon {
    align-items: center;
    border: 4px solid rgba(34, 211, 238, .18);
    border-radius: 999px;
    display: flex;
    height: 96px;
    justify-content: center;
    margin-bottom: 22px;
    position: relative;
    width: 96px;
}

.checkout-processing-card.is-loading .checkout-processing-icon {
    animation: checkoutSpin 1s linear infinite;
    border-left-color: #22d3ee;
    border-top-color: #2563eb;
}

.checkout-processing-card.is-loading .checkout-processing-icon span {
    background: #22d3ee;
    border-radius: 999px;
    box-shadow: 0 0 24px rgba(34, 211, 238, .58);
    height: 16px;
    width: 16px;
}

.checkout-processing-card.is-success .checkout-processing-icon {
    border-color: rgba(34, 197, 94, .38);
    box-shadow: 0 0 34px rgba(34, 197, 94, .18);
}

.checkout-processing-card.is-success .checkout-processing-icon span::before {
    color: #4ade80;
    content: "✓";
    font-size: 54px;
    font-weight: 950;
    line-height: 1;
}

.checkout-processing-card.is-error .checkout-processing-icon {
    border-color: rgba(248, 113, 113, .42);
    box-shadow: 0 0 34px rgba(248, 113, 113, .16);
}

.checkout-processing-card.is-error .checkout-processing-icon span::before {
    color: #fb7185;
    content: "×";
    font-size: 68px;
    font-weight: 800;
    line-height: .82;
}

.checkout-processing-card h2 {
    color: #ffffff;
    font-size: 28px;
    margin: 0 0 10px;
}

.checkout-processing-card p {
    color: #eaf3ff;
    line-height: 1.55;
    margin: 0;
}

@keyframes checkoutSpin {
    to {
        transform: rotate(360deg);
    }
}

.setup-success-hero {
    align-items: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(34, 211, 238, .18), transparent 46%),
        linear-gradient(145deg, rgba(15, 23, 42, .74), rgba(8, 18, 34, .62));
    border: 1px solid rgba(34, 211, 238, .22);
    border-radius: 26px;
    display: flex;
    flex-direction: column;
    margin-bottom: 22px;
    padding: 24px 20px;
    text-align: center;
}

.setup-success-hero img {
    filter: drop-shadow(0 0 22px rgba(34, 211, 238, .28));
    height: 72px;
    margin-bottom: 12px;
    object-fit: contain;
    width: 72px;
}

.setup-success-hero span,
.setup-progress span {
    color: #22d3ee;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.setup-success-hero h2 {
    color: #ffffff;
    font-size: clamp(26px, 4vw, 38px);
    letter-spacing: -.04em;
    line-height: 1;
    margin: 5px 0 10px;
}

.setup-success-hero p {
    color: #edf7ff;
    line-height: 1.55;
    margin: 0;
    max-width: 520px;
}

.setup-progress {
    background: rgba(15, 23, 42, .62);
    border: 1px solid rgba(125, 211, 252, .16);
    border-radius: 999px;
    display: grid;
    gap: 8px;
    grid-template-columns: 1fr 1fr;
    padding: 6px;
}

.setup-progress span {
    align-items: center;
    border-radius: 999px;
    color: #93a8c3;
    display: flex;
    justify-content: center;
    min-height: 38px;
    text-align: center;
}

.setup-progress span.is-active {
    background: linear-gradient(135deg, #20c7b0, #1ba8ef);
    color: #06111f;
}

.financial-setup-step {
    display: grid;
    gap: 16px;
}

.financial-setup-step[hidden] {
    display: none;
}

.financial-setup-step > .button-primary {
    justify-self: end;
    min-width: 180px;
}

.email-verification-card {
    background:
        radial-gradient(circle at 50% 0%, rgba(34, 211, 238, .16), transparent 42%),
        linear-gradient(145deg, rgba(15, 23, 42, .76), rgba(8, 18, 34, .66));
    border: 1px solid rgba(56, 189, 248, .18);
    border-radius: 26px;
    padding: 20px;
}

.email-verification-hero {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding: 10px 0 4px;
    text-align: center;
}

.email-verification-hero img {
    filter: drop-shadow(0 0 22px rgba(34, 211, 238, .28));
    height: 68px;
    margin-bottom: 12px;
    object-fit: contain;
    width: 68px;
}

.email-verification-hero span {
    color: #22d3ee;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.email-verification-hero h2 {
    color: #ffffff;
    font-size: clamp(26px, 5vw, 38px);
    letter-spacing: -.04em;
    margin: 6px 0 8px;
}

.email-verification-hero p,
.email-delivery-hint,
.code-expiry-hint {
    color: #edf7ff !important;
    line-height: 1.55;
}

.email-verification-card #verification_code {
    font-size: 28px;
    font-weight: 900;
    letter-spacing: .32em;
    text-align: center;
}

.email-verification-card.registration-form {
    gap: 12px;
    grid-template-columns: 1fr;
}

.email-verification-card .email-delivery-hint,
.email-verification-card .code-expiry-hint,
.email-verification-card label,
.email-verification-card .full-field {
    grid-column: 1 / -1;
}

.email-verification-card .email-delivery-hint,
.email-verification-card .code-expiry-hint {
    margin: 0;
}

.email-verification-card .resend-code-button {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: #22d3ee !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    justify-self: center;
    letter-spacing: .01em;
    min-height: 0 !important;
    padding: 4px 8px !important;
    width: auto !important;
}

.email-verification-card .resend-code-button:hover {
    color: #67e8f9 !important;
    text-decoration: underline;
}

.page-loading-overlay {
    align-items: center;
    background: rgba(2, 6, 23, .58);
    backdrop-filter: blur(7px);
    display: none;
    inset: 0;
    justify-content: center;
    padding: 20px;
    position: fixed;
    z-index: 9998;
}

.page-loading-overlay.open {
    display: flex;
}

.page-loading-card {
    align-items: center;
    background:
        radial-gradient(circle at 50% 0%, rgba(34, 211, 238, .13), transparent 44%),
        linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(8, 18, 34, .95));
    border: 1px solid rgba(125, 211, 252, .28);
    border-radius: 26px;
    box-shadow: 0 24px 60px rgba(0,0,0,.34);
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: min(340px, 100%);
    padding: 28px;
    text-align: center;
}

.page-loading-bar {
    background: rgba(15, 23, 42, .82);
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    width: 210px;
}

.page-loading-bar::before {
    animation: nithLoadingBar 1s ease-in-out infinite;
    background: linear-gradient(90deg, #20c7b0, #22d3ee, #2563eb);
    border-radius: inherit;
    content: "";
    display: block;
    height: 100%;
    width: 54%;
}

.page-loading-card strong {
    color: #ffffff;
    font-size: 18px;
}

.page-loading-card small {
    color: #dbeafe;
}

@keyframes nithLoadingBar {
    0% { transform: translateX(-105%); }
    100% { transform: translateX(195%); }
}

@media (max-width: 760px) {
    .payment-container {
        width: min(100% - 20px, 520px);
    }

    .transparent-checkout-card .brand {
        flex-direction: column;
    }

    .checkout-section {
        padding: 14px;
    }

    .checkout-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .checkout-actions .button-primary,
    .checkout-actions .button-secondary {
        width: 100%;
    }
}

.page-subtitle,
.page-topbar p,
.metric-card p,
.metric-card span,
.summary-box p,
.panel p,
.form-panel p,
.table-panel p,
.notice p,
.modal-card p,
.onboarding-card p,
.subscription-expired-card p,
.help-text,
.muted-text {
    color: #eaf3ff !important;
}

.metric-card small,
.panel small,
.form-panel small,
.table-panel small,
small {
    color: #cbdcf0;
}

label,
.form-panel label,
.modal-card label {
    color: #dbeafe;
}

/* Avatar robô institucional NITH */
.nith-company-page .nith-company-avatar {
    animation: nithFriendlyRobotFloat 4.2s ease-in-out infinite alternate;
    height: 440px;
    max-width: 420px;
    position: relative;
}

@keyframes nithFriendlyRobotFloat {
    from { transform: translateY(0) rotate(-1deg); }
    to { transform: translateY(-14px) rotate(1deg); }
}

.nith-company-page .nith-company-avatar-glow {
    background:
        radial-gradient(circle, rgba(103, 232, 249, .26), transparent 55%),
        radial-gradient(circle at 66% 36%, rgba(37, 99, 235, .32), transparent 34%);
    filter: blur(3px);
    height: 330px;
    top: 52px;
    width: 330px;
}

.nith-company-page .nith-company-avatar-ring {
    border: 2px dashed rgba(125, 211, 252, .28);
    border-left-color: #22d3ee;
    height: 330px;
    top: 46px;
    width: 330px;
}

.nith-company-page .nith-company-avatar-head {
    background:
        radial-gradient(circle at 20% 14%, rgba(255,255,255,.95), transparent 12%),
        linear-gradient(145deg, #ffffff, #dbeafe 74%, #bae6fd);
    border: 4px solid #071a3d;
    border-radius: 46% 46% 38% 38% / 48% 48% 36% 36%;
    box-shadow: 0 18px 52px rgba(2, 6, 23, .52);
    height: 156px;
    left: 50%;
    top: 78px;
    transform: translateX(-50%);
    width: 224px;
}

.nith-company-page .nith-company-avatar-head::before,
.nith-company-page .nith-company-avatar-head::after {
    display: none;
}

.nith-company-page .nith-company-robot-top {
    background: linear-gradient(135deg, #22d3ee, #0ea5e9);
    border: 4px solid #071a3d;
    border-radius: 16px 16px 12px 12px;
    height: 34px;
    left: 50%;
    position: absolute;
    top: -5px;
    transform: translateX(-50%);
    width: 94px;
    z-index: 3;
}

.nith-company-page .nith-company-robot-face {
    background:
        radial-gradient(circle at 75% 24%, rgba(255,255,255,.26), transparent 8%),
        linear-gradient(145deg, #071a3d, #020617);
    border-radius: 44px;
    height: 88px;
    left: 50%;
    position: absolute;
    top: 48px;
    transform: translateX(-50%);
    width: 176px;
    z-index: 2;
}

.nith-company-page .nith-company-avatar-eye {
    animation: nithFriendlyRobotBlink 4s ease-in-out infinite;
    background: radial-gradient(circle at 36% 24%, #ffffff 0 18%, #67e8f9 20%, #06b6d4 72%);
    border-radius: 999px;
    height: 36px;
    top: 72px;
    width: 25px;
    z-index: 4;
}

.nith-company-page .nith-company-avatar-eye:nth-child(3) {
    left: 74px;
}

.nith-company-page .nith-company-avatar-eye:nth-child(4) {
    right: 74px;
}

@keyframes nithFriendlyRobotBlink {
    0%, 88%, 100% { transform: scaleY(1); }
    92% { transform: scaleY(.16); }
}

.nith-company-page .nith-company-robot-smile {
    border: 4px solid transparent;
    border-bottom-color: #ffffff;
    border-radius: 0 0 999px 999px;
    height: 24px;
    left: 50%;
    position: absolute;
    top: 100px;
    transform: translateX(-50%);
    width: 48px;
    z-index: 4;
}

.nith-company-page .nith-company-robot-ear {
    background:
        radial-gradient(circle, #67e8f9 0 42%, #0ea5e9 44% 64%, #eaf6ff 66%);
    border: 4px solid #071a3d;
    border-radius: 50%;
    height: 54px;
    position: absolute;
    top: 132px;
    width: 54px;
    z-index: 3;
}

.nith-company-page .nith-company-robot-ear-left {
    left: 76px;
}

.nith-company-page .nith-company-robot-ear-right {
    right: 76px;
}

.nith-company-page .nith-company-avatar-body {
    background:
        radial-gradient(circle at 50% 18%, rgba(255,255,255,.9), transparent 16%),
        linear-gradient(145deg, #ffffff, #dbeafe 72%, #bfdbfe);
    border: 4px solid #071a3d;
    border-radius: 42px;
    display: block;
    height: 130px;
    left: 50%;
    padding: 0;
    top: 224px;
    transform: translateX(-50%);
    width: 142px;
    z-index: 2;
}

.nith-company-page .nith-company-robot-core {
    background: radial-gradient(circle, #0ea5e9 0 32%, #071a3d 34% 54%, #22d3ee 56%);
    border: 4px solid #071a3d;
    border-radius: 22px;
    display: block;
    height: 52px;
    left: 50%;
    position: absolute;
    top: 36px;
    transform: translateX(-50%);
    width: 58px;
}

.nith-company-page .nith-company-robot-dot {
    background: #facc15;
    border-radius: 50%;
    display: block;
    height: 10px;
    left: 88px;
    position: absolute;
    top: 44px;
    width: 10px;
}

.nith-company-page .nith-company-robot-arm {
    background: linear-gradient(145deg, #ffffff, #bfdbfe);
    border: 4px solid #071a3d;
    border-radius: 999px;
    height: 86px;
    position: absolute;
    top: 244px;
    width: 32px;
    z-index: 1;
}

.nith-company-page .nith-company-robot-arm-left {
    left: 116px;
    transform: rotate(26deg);
}

.nith-company-page .nith-company-robot-arm-right {
    animation: nithFriendlyRobotWave 1.7s ease-in-out infinite alternate;
    right: 116px;
    top: 206px;
    transform: rotate(-48deg);
    transform-origin: 50% 92%;
}

@keyframes nithFriendlyRobotWave {
    from { transform: rotate(-36deg); }
    to { transform: rotate(-66deg); }
}

.nith-company-page .nith-company-robot-arm-right span,
.nith-company-page .nith-company-robot-arm-right i,
.nith-company-page .nith-company-robot-arm-right b {
    background: #bfdbfe;
    border: 3px solid #071a3d;
    border-radius: 999px;
    height: 24px;
    position: absolute;
    top: -18px;
    width: 10px;
}

.nith-company-page .nith-company-robot-arm-right span { left: -6px; transform: rotate(-28deg); }
.nith-company-page .nith-company-robot-arm-right i { left: 8px; transform: rotate(-4deg); }
.nith-company-page .nith-company-robot-arm-right b { right: -6px; transform: rotate(26deg); }

.nith-company-page .nith-company-robot-leg {
    background: linear-gradient(145deg, #ffffff, #bfdbfe);
    border: 4px solid #071a3d;
    border-radius: 999px 999px 20px 20px;
    height: 82px;
    position: absolute;
    top: 336px;
    width: 42px;
    z-index: 1;
}

.nith-company-page .nith-company-robot-leg-left {
    left: 150px;
    transform: rotate(5deg);
}

.nith-company-page .nith-company-robot-leg-right {
    right: 150px;
    transform: rotate(-5deg);
}

.nith-company-page .nith-company-avatar-chip-one {
    left: 10px;
    top: 122px;
}

.nith-company-page .nith-company-avatar-chip-two {
    right: 0;
    top: 218px;
}

.nith-company-page .nith-company-avatar-chip-three {
    bottom: 54px;
    left: 34px;
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-avatar {
        height: 330px;
        max-width: 300px;
    }

    .nith-company-page .nith-company-avatar-glow {
        height: 245px;
        top: 38px;
        width: 245px;
    }

    .nith-company-page .nith-company-avatar-ring {
        height: 242px;
        top: 34px;
        width: 242px;
    }

    .nith-company-page .nith-company-avatar-head {
        height: 116px;
        top: 56px;
        width: 166px;
    }

    .nith-company-page .nith-company-robot-face {
        border-radius: 34px;
        height: 66px;
        top: 38px;
        width: 132px;
    }

    .nith-company-page .nith-company-robot-top {
        height: 26px;
        width: 72px;
    }

    .nith-company-page .nith-company-avatar-eye {
        height: 26px;
        top: 55px;
        width: 18px;
    }

    .nith-company-page .nith-company-avatar-eye:nth-child(3) {
        left: 56px;
    }

    .nith-company-page .nith-company-avatar-eye:nth-child(4) {
        right: 56px;
    }

    .nith-company-page .nith-company-robot-smile {
        height: 18px;
        top: 78px;
        width: 36px;
    }

    .nith-company-page .nith-company-robot-ear {
        height: 40px;
        top: 96px;
        width: 40px;
    }

    .nith-company-page .nith-company-robot-ear-left {
        left: 58px;
    }

    .nith-company-page .nith-company-robot-ear-right {
        right: 58px;
    }

    .nith-company-page .nith-company-avatar-body {
        border-radius: 30px;
        height: 96px;
        top: 168px;
        width: 108px;
    }

    .nith-company-page .nith-company-robot-core {
        height: 40px;
        top: 26px;
        width: 44px;
    }

    .nith-company-page .nith-company-robot-dot {
        left: 66px;
        top: 32px;
    }

    .nith-company-page .nith-company-robot-arm {
        height: 64px;
        top: 184px;
        width: 24px;
    }

    .nith-company-page .nith-company-robot-arm-left {
        left: 84px;
    }

    .nith-company-page .nith-company-robot-arm-right {
        right: 84px;
        top: 150px;
    }

    .nith-company-page .nith-company-robot-leg {
        height: 58px;
        top: 252px;
        width: 32px;
    }

    .nith-company-page .nith-company-robot-leg-left {
        left: 102px;
    }

    .nith-company-page .nith-company-robot-leg-right {
        right: 102px;
    }
}

/* Ajustes finais da página NITH */
.nith-company-page .nith-company-copy h1 {
    background:
        linear-gradient(180deg, #f8fbff 0%, #dcecff 42%, #9ec8f4 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 22px 48px rgba(2, 6, 23, .54));
    text-shadow: none;
}

.nith-company-page .nith-company-copy h1::first-letter {
    color: #dff3ff;
}

.nith-company-page .nith-company-copy p {
    color: #c7d9ea;
    font-weight: 500;
    max-width: 780px;
}

.nith-company-page .nith-company-agency-copy h2 {
    background: linear-gradient(180deg, #f7fbff 0%, #d8ecff 48%, #8fbfed 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.nith-company-page .nith-company-feature-list article {
    align-items: start;
    display: grid;
    gap: 2px 16px;
    grid-template-columns: 18px minmax(0, 1fr);
    position: relative;
}

.nith-company-page .nith-company-feature-list article::before {
    background: linear-gradient(135deg, #22d3ee, #2563eb);
    border-radius: 999px;
    box-shadow: 0 0 18px rgba(34, 211, 238, .38);
    content: "";
    height: 4px;
    margin-top: 14px;
    width: 16px;
}

.nith-company-page .nith-company-feature-list strong,
.nith-company-page .nith-company-feature-list p {
    grid-column: 2;
}

.nith-company-page .nith-company-feature-list strong {
    color: #e6f3ff;
}

.nith-company-page .nith-company-feature-list p {
    color: #bfd3e7;
}

.nith-company-page .nith-company-avatar {
    align-items: center;
    display: flex;
    height: 430px;
    justify-content: center;
    max-width: 430px;
    overflow: visible;
    position: relative;
    width: 100%;
    z-index: 1;
}

.nith-company-page .nith-company-avatar-glow {
    height: 360px;
    top: 34px;
    width: 360px;
}

.nith-company-page .nith-company-robot-image {
    animation: nithRobotGifFloat 4.4s ease-in-out infinite alternate;
    display: block !important;
    filter: drop-shadow(0 30px 52px rgba(2, 6, 23, .42));
    height: auto;
    left: auto;
    max-height: 390px;
    max-width: 390px;
    object-fit: contain;
    position: relative;
    top: auto;
    transform:
        translate3d(calc(var(--robot-x, 0) * .015px), calc(var(--robot-y, 0) * .015px), 0)
        rotate(calc(var(--robot-rotate, 0) * 1deg));
    width: min(100%, 390px);
    z-index: 2;
}

.nith-company-page video.nith-company-robot-image {
    background: transparent;
    border: 0;
    border-radius: 34px;
    -webkit-mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0,0,0,.88) 70%, rgba(0,0,0,.34) 86%, transparent 100%);
    mask-image: radial-gradient(ellipse at center, #000 58%, rgba(0,0,0,.88) 70%, rgba(0,0,0,.34) 86%, transparent 100%);
    outline: 0;
    pointer-events: none;
    user-select: none;
}

@keyframes nithRobotGifFloat {
    from { translate: 0 0; }
    to { translate: 0 -10px; }
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-copy h1 {
        font-size: clamp(38px, 12.5vw, 56px);
    }

    .nith-company-page .nith-company-avatar {
        height: 320px;
        max-width: 320px;
    }

    .nith-company-page .nith-company-avatar-glow {
        height: 260px;
        top: 28px;
        width: 260px;
    }

    .nith-company-page .nith-company-robot-image {
        max-height: 290px;
        max-width: 290px;
        width: min(100%, 290px);
    }
}

/* NITH institucional: polimento visual final */
.nith-company-page {
    background:
        radial-gradient(circle at 12% 14%, rgba(34, 211, 238, .16), transparent 28%),
        radial-gradient(circle at 86% 8%, rgba(37, 99, 235, .2), transparent 32%),
        linear-gradient(140deg, #020617 0%, #071a33 48%, #082b48 100%);
    overflow-x: hidden;
}

.nith-company-page::before {
    animation: nithCompanyAura 14s ease-in-out infinite alternate;
    background:
        linear-gradient(110deg, transparent 0%, rgba(34, 211, 238, .1) 44%, transparent 54%),
        radial-gradient(circle at 28% 76%, rgba(16, 185, 129, .12), transparent 34%);
    content: "";
    inset: -18%;
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.nith-company-shell {
    position: relative;
    z-index: 1;
}

@keyframes nithCompanyAura {
    from { transform: translate3d(-22px, -12px, 0) rotate(-1deg); opacity: .68; }
    to { transform: translate3d(28px, 18px, 0) rotate(1deg); opacity: 1; }
}

.nith-company-page .nith-company-services article,
.nith-company-page .nith-company-process-grid article,
.nith-company-page .nith-company-faq details {
    position: relative;
}

.nith-company-page .nith-company-services article::before,
.nith-company-page .nith-company-process-grid article::before {
    align-items: center;
    background:
        radial-gradient(circle at 30% 20%, rgba(255,255,255,.26), transparent 22%),
        linear-gradient(135deg, rgba(34, 211, 238, .94), rgba(37, 99, 235, .88));
    border: 1px solid rgba(191, 219, 254, .22);
    border-radius: 18px;
    box-shadow: 0 18px 42px rgba(14, 165, 233, .22);
    color: #e0f7ff;
    display: inline-flex;
    font-size: 26px;
    height: 54px;
    justify-content: center;
    margin-bottom: 18px;
    width: 54px;
}

.nith-company-page .nith-company-services article:nth-child(1)::before { content: "⌁"; }
.nith-company-page .nith-company-services article:nth-child(2)::before { content: "▣"; }
.nith-company-page .nith-company-services article:nth-child(3)::before { content: "◈"; }

.nith-company-page .nith-company-process-grid article:nth-child(1)::before { content: "✎"; }
.nith-company-page .nith-company-process-grid article:nth-child(2)::before { content: "◇"; }
.nith-company-page .nith-company-process-grid article:nth-child(3)::before { content: "↗"; }

.nith-company-page .nith-company-platform li {
    list-style: none;
    padding-left: 34px;
    position: relative;
}

.nith-company-page .nith-company-platform li::before {
    background: linear-gradient(135deg, #22d3ee, #2563eb);
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(34, 211, 238, .28);
    color: #e0f7ff;
    content: "✓";
    font-size: 12px;
    font-weight: 950;
    height: 22px;
    left: 0;
    line-height: 22px;
    position: absolute;
    text-align: center;
    top: 2px;
    width: 22px;
}

.nith-company-page .nith-company-faq summary {
    align-items: center;
    display: flex;
    gap: 12px;
}

.nith-company-page .nith-company-faq summary::before {
    align-items: center;
    background: rgba(34, 211, 238, .14);
    border: 1px solid rgba(34, 211, 238, .28);
    border-radius: 12px;
    color: #67e8f9;
    content: "?";
    display: inline-flex;
    flex: 0 0 30px;
    font-size: 15px;
    font-weight: 950;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.nith-company-page .nith-company-avatar {
    cursor: grab;
    isolation: isolate;
    touch-action: pan-y;
}

.nith-company-page .nith-company-avatar:active,
.nith-company-page .nith-company-avatar.is-active {
    cursor: grabbing;
}

.nith-company-page .nith-company-avatar::before,
.nith-company-page .nith-company-avatar::after {
    border: 1px solid rgba(34, 211, 238, .22);
    border-radius: 50%;
    content: "";
    inset: 38px;
    pointer-events: none;
    position: absolute;
    transform:
        translate3d(calc(var(--robot-x, 0px) * .012), calc(var(--robot-y, 0px) * .012), 0)
        rotate(12deg);
    z-index: 1;
}

.nith-company-page .nith-company-avatar::after {
    animation: nithRobotOrbit 12s linear infinite;
    border-color: transparent;
    border-top-color: rgba(34, 211, 238, .55);
    border-right-color: rgba(37, 99, 235, .35);
    inset: 22px;
}

@keyframes nithRobotOrbit {
    to { rotate: 360deg; }
}

.nith-company-page .nith-company-robot-image {
    animation: nithRobotStillFloat 4.6s ease-in-out infinite alternate;
    filter:
        drop-shadow(0 34px 58px rgba(2, 6, 23, .46))
        drop-shadow(0 0 34px rgba(34, 211, 238, .18));
    max-height: 430px;
    max-width: 430px;
    transform:
        translate3d(calc(var(--robot-x, 0px) * .018), calc(var(--robot-y, 0px) * .018), 0)
        rotate(calc(var(--robot-rotate, 0deg) * 1));
    transition: filter .22s ease, transform .12s ease-out;
    width: min(100%, 430px);
}

.nith-company-page .nith-company-avatar.is-active .nith-company-robot-image {
    filter:
        drop-shadow(0 38px 70px rgba(2, 6, 23, .55))
        drop-shadow(0 0 48px rgba(34, 211, 238, .28));
}

@keyframes nithRobotStillFloat {
    from { translate: 0 0; }
    to { translate: 0 -12px; }
}

.nith-company-page .nith-company-nav nav a {
    align-items: center;
    display: inline-flex;
    gap: 9px;
}

.nith-company-page .nith-company-nav nav a::before {
    align-items: center;
    background: rgba(34, 211, 238, .12);
    border: 1px solid rgba(34, 211, 238, .2);
    border-radius: 10px;
    color: #67e8f9;
    display: inline-flex;
    font-size: 13px;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.nith-company-page .nith-company-nav nav a[href="/erp"]::before { content: "N"; }
.nith-company-page .nith-company-nav nav a[href="#servicos"]::before { content: "◆"; }
.nith-company-page .nith-company-nav nav a[href="#contato"]::before { content: "↗"; }

@media (max-width: 980px) {
    body.nith-company-menu-open .nith-company-page .nith-company-nav nav {
        transform: translateX(0);
    }

    .nith-company-page .nith-company-nav nav {
        gap: 8px;
        padding: 18px 14px;
    }

    .nith-company-page .nith-company-nav a {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-nav nav {
        background:
            radial-gradient(circle at 12% 0%, rgba(34, 211, 238, .16), transparent 36%),
            linear-gradient(180deg, rgba(4, 16, 33, .98), rgba(5, 28, 50, .98));
        border-radius: 22px;
        left: 16px;
        max-height: calc(100dvh - 34px);
        top: 76px;
        width: min(250px, calc(100vw - 32px));
    }

    .nith-company-page .nith-company-nav a {
        min-height: 48px;
    }

    .nith-company-page .nith-company-services article::before,
    .nith-company-page .nith-company-process-grid article::before {
        height: 46px;
        width: 46px;
    }

    .nith-company-page .nith-company-avatar {
        height: 330px;
        margin-inline: auto;
        max-width: 330px;
    }

    .nith-company-page .nith-company-avatar::before {
        inset: 42px;
    }

    .nith-company-page .nith-company-avatar::after {
        inset: 28px;
    }

    .nith-company-page .nith-company-robot-image {
        max-height: 310px;
        max-width: 310px;
        width: min(100%, 310px);
    }
}

/* NITH institucional: animação e ícones profissionais */
.nith-company-page {
    background:
        radial-gradient(circle at 12% 10%, rgba(34, 211, 238, .28), transparent 30%),
        radial-gradient(circle at 88% 16%, rgba(37, 99, 235, .3), transparent 34%),
        radial-gradient(circle at 50% 92%, rgba(16, 185, 129, .16), transparent 30%),
        linear-gradient(135deg, #020617 0%, #061936 48%, #092f53 100%);
}

.nith-company-page::before {
    animation: nithCompanyLightSweep 16s ease-in-out infinite alternate;
    background:
        linear-gradient(105deg, transparent 0 36%, rgba(34, 211, 238, .16) 42%, transparent 50%),
        linear-gradient(68deg, transparent 0 58%, rgba(37, 99, 235, .18) 64%, transparent 72%),
        radial-gradient(circle at var(--site-light-x, 18%) 18%, rgba(34, 211, 238, .18), transparent 30%);
    content: "";
    inset: -20%;
    opacity: .95;
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

.nith-company-page::after {
    animation: nithCompanyGridMove 22s linear infinite;
    background:
        linear-gradient(rgba(125, 211, 252, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(125, 211, 252, .06) 1px, transparent 1px),
        radial-gradient(circle at 20% 70%, rgba(34, 211, 238, .14), transparent 24%);
    background-size: 72px 72px, 72px 72px, auto;
    content: "";
    inset: 0;
    opacity: .42;
    pointer-events: none;
    position: fixed;
    z-index: 0;
}

@keyframes nithCompanyLightSweep {
    from { transform: translate3d(-70px, -30px, 0) rotate(-2deg) scale(1); }
    to { transform: translate3d(80px, 44px, 0) rotate(2deg) scale(1.04); }
}

@keyframes nithCompanyGridMove {
    from { background-position: 0 0, 0 0, center; }
    to { background-position: 72px 72px, -72px 72px, center; }
}

.nith-company-page .nith-company-process-grid article b {
    display: none !important;
}

.nith-company-page .nith-company-process-grid article::before,
.nith-company-page .nith-company-services article::before {
    content: "" !important;
}

.nith-company-page .nith-process-icon,
.nith-company-page .nith-company-services article::before {
    align-items: center;
    background:
        radial-gradient(circle at 26% 18%, rgba(255,255,255,.32), transparent 22%),
        linear-gradient(135deg, #22d3ee 0%, #2563eb 100%);
    border: 1px solid rgba(191, 219, 254, .22);
    border-radius: 18px;
    box-shadow: 0 20px 48px rgba(14, 165, 233, .24), inset 0 1px 0 rgba(255,255,255,.22);
    display: inline-flex;
    height: 58px;
    justify-content: center;
    margin-bottom: 18px;
    position: relative;
    width: 58px;
}

.nith-company-page .nith-process-icon svg {
    fill: none;
    height: 30px;
    stroke: #e9fbff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    width: 30px;
}

.nith-company-page .nith-company-services article {
    overflow: hidden;
}

.nith-company-page .nith-company-services article::after {
    background: linear-gradient(135deg, rgba(34, 211, 238, .32), transparent 56%);
    border-radius: 999px;
    content: "";
    height: 150px;
    opacity: .7;
    position: absolute;
    right: -58px;
    top: -62px;
    width: 150px;
}

.nith-company-page .nith-company-services article:nth-child(1)::before {
    background-image:
        radial-gradient(circle at 26% 18%, rgba(255,255,255,.32), transparent 22%),
        linear-gradient(135deg, #22d3ee 0%, #2563eb 100%);
}

.nith-company-page .nith-company-services article:nth-child(1) h2::before,
.nith-company-page .nith-company-services article:nth-child(2) h2::before,
.nith-company-page .nith-company-services article:nth-child(3) h2::before {
    color: #67e8f9;
    display: inline-block;
    font-size: .82em;
    margin-right: 10px;
    transform: translateY(-1px);
}

.nith-company-page .nith-company-services article:nth-child(1) h2::before { content: "▰"; }
.nith-company-page .nith-company-services article:nth-child(2) h2::before { content: "◧"; }
.nith-company-page .nith-company-services article:nth-child(3) h2::before { content: "N"; font-weight: 950; }

.nith-company-page .nith-company-platform li::before {
    content: "";
}

.nith-company-page .nith-company-platform li::after {
    background: #e0f7ff;
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    color: #e0f7ff;
    content: "";
    height: 6px;
    left: 6px;
    position: absolute;
    top: 9px;
    transform: rotate(-45deg);
    width: 11px;
}

.nith-company-page .nith-company-avatar {
    --robot-light-x: 50%;
    --robot-light-y: 38%;
    transform-style: preserve-3d;
}

.nith-company-page .nith-company-avatar-glow {
    animation: nithRobotGlowPulse 3.8s ease-in-out infinite alternate;
    background:
        radial-gradient(circle at var(--robot-light-x) var(--robot-light-y), rgba(255,255,255,.2), transparent 14%),
        radial-gradient(circle, rgba(34, 211, 238, .38), transparent 58%),
        radial-gradient(circle at 64% 40%, rgba(37, 99, 235, .32), transparent 38%);
    filter: blur(10px);
    transform: translate3d(calc(var(--robot-x, 0px) * .22), calc(var(--robot-y, 0px) * .22), 0);
}

.nith-company-page .nith-company-avatar::before {
    animation: nithRobotRingFloat 8s ease-in-out infinite alternate;
    border-color: rgba(34, 211, 238, .34);
    box-shadow: 0 0 36px rgba(34, 211, 238, .18), inset 0 0 28px rgba(37, 99, 235, .1);
}

.nith-company-page .nith-company-avatar::after {
    animation: nithRobotOrbit 8s linear infinite;
    border-top-color: rgba(34, 211, 238, .78);
    border-right-color: rgba(37, 99, 235, .6);
}

.nith-company-page .nith-company-avatar .nith-company-robot-image {
    transform:
        translate3d(calc(var(--robot-x, 0px) * .45), calc(var(--robot-y, 0px) * .34), 36px)
        rotateZ(calc(var(--robot-rotate, 0deg) * .9))
        rotateY(calc(var(--robot-x, 0px) * -.36deg))
        rotateX(calc(var(--robot-y, 0px) * .22deg));
}

.nith-company-page .nith-company-avatar.is-active .nith-company-robot-image {
    filter:
        drop-shadow(0 42px 76px rgba(2, 6, 23, .62))
        drop-shadow(0 0 58px rgba(34, 211, 238, .38));
}

.nith-company-page .nith-company-avatar.is-pressing .nith-company-robot-image {
    transform:
        translate3d(calc(var(--robot-x, 0px) * .34), calc(var(--robot-y, 0px) * .26), 20px)
        rotateZ(calc(var(--robot-rotate, 0deg) * .72))
        scale(.97);
}

.nith-company-page .nith-company-avatar.is-pressing::after {
    animation-duration: 2.4s;
}

@keyframes nithRobotGlowPulse {
    from { opacity: .74; scale: .96; }
    to { opacity: 1; scale: 1.05; }
}

@keyframes nithRobotRingFloat {
    from { transform: translate3d(calc(var(--robot-x, 0px) * .012), calc(var(--robot-y, 0px) * .012), 0) rotate(-10deg); }
    to { transform: translate3d(calc(var(--robot-x, 0px) * .02), calc(var(--robot-y, 0px) * .02), 0) rotate(10deg); }
}

@media (max-width: 760px) {
    .nith-company-page::before,
    .nith-company-page::after {
        display: block;
    }

    .nith-company-page::after {
        opacity: .24;
    }

    .nith-company-page .nith-process-icon {
        height: 50px;
        width: 50px;
    }

    .nith-company-page .nith-process-icon svg {
        height: 26px;
        width: 26px;
    }
}

/* NITH institucional: limpeza visual final e blocos profissionais */
.nith-company-page .nith-company-nav nav a::before {
    content: none !important;
    display: none !important;
}

.nith-company-page .nith-company-nav nav a {
    gap: 0 !important;
}

.nith-company-page .nith-company-services article::before,
.nith-company-page .nith-company-services article h2::before,
.nith-company-page .nith-company-process-grid article::before {
    content: none !important;
    display: none !important;
}

.nith-company-page .nith-company-services article {
    padding-top: 34px;
}

.nith-company-page .nith-company-services article > span::before,
.nith-company-page .nith-company-feature-list article strong::before,
.nith-company-page .nith-company-type-grid article strong::before {
    background: linear-gradient(90deg, #22d3ee, #2563eb);
    border-radius: 999px;
    box-shadow: 0 0 18px rgba(34, 211, 238, .28);
    content: "";
    display: inline-block;
    height: 4px;
    margin-right: 10px;
    transform: translateY(-3px);
    width: 22px;
}

.nith-company-page::before {
    background:
        radial-gradient(circle at 12% 10%, rgba(34, 211, 238, .36), transparent 28%),
        radial-gradient(circle at 82% 22%, rgba(37, 99, 235, .36), transparent 34%),
        linear-gradient(110deg, transparent 0%, rgba(34, 211, 238, .16) 42%, transparent 55%),
        linear-gradient(70deg, transparent 0%, rgba(37, 99, 235, .18) 58%, transparent 74%) !important;
    opacity: 1 !important;
}

.nith-company-page::after {
    opacity: .58 !important;
}

.nith-company-page .nith-company-copy h1 {
    max-width: 780px;
}

.nith-company-page .nith-company-platform {
    align-items: center;
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
}

.nith-company-page .nith-company-platform-copy {
    display: grid;
    gap: 22px;
}

.nith-company-page .nith-company-platform-card {
    margin: 0;
    min-height: 320px;
    width: 100%;
}

.nith-company-page .nith-company-platform-card img {
    max-width: min(82%, 440px);
    width: min(82%, 440px);
}

.nith-company-site-types {
    margin-top: 34px;
}

.nith-company-type-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nith-company-type-grid article {
    background:
        radial-gradient(circle at 92% 0%, rgba(34, 211, 238, .12), transparent 36%),
        rgba(15, 23, 42, .72);
    border: 1px solid rgba(125, 211, 252, .18);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(2, 6, 23, .22);
    padding: 20px;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.nith-company-type-grid article:hover {
    border-color: rgba(34, 211, 238, .55);
    box-shadow: 0 24px 70px rgba(14, 165, 233, .16);
    transform: translateY(-3px);
}

.nith-company-type-grid strong {
    color: #f8fbff;
    display: block;
    font-size: 1.02rem;
    margin-bottom: 8px;
}

.nith-company-type-grid small {
    color: rgba(226, 239, 255, .78);
    display: block;
    line-height: 1.55;
}

.nith-company-page .nith-process-icon {
    margin-bottom: 22px;
}

@media (max-width: 1100px) {
    .nith-company-type-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-copy {
        text-align: center;
    }

    .nith-company-page .nith-company-copy > span {
        margin-inline: auto;
    }

    .nith-company-page .nith-company-copy h1 {
        font-size: clamp(2.35rem, 13vw, 4.2rem) !important;
        line-height: .96 !important;
        margin-inline: auto;
        max-width: 9.2em;
    }

    .nith-company-page .nith-company-copy p {
        margin-inline: auto;
        max-width: 34ch;
    }

    .nith-company-page .nith-company-actions,
    .nith-company-page .nith-company-trust {
        justify-content: center;
    }

    .nith-company-page .nith-company-platform {
        grid-template-columns: 1fr;
    }

    .nith-company-page .nith-company-platform-card {
        min-height: 250px;
    }

    .nith-company-page .nith-company-platform-card img {
        max-width: min(86%, 310px);
        width: min(86%, 310px);
    }

    .nith-company-type-grid {
        grid-template-columns: 1fr;
    }

    .nith-company-site-types {
        margin-top: 22px;
    }
}

@media (max-width: 520px) {
    .nith-company-page .nith-company-nav nav {
        left: 50% !important;
        right: auto !important;
        transform: translate(-50%, -10px) scale(.98) !important;
        width: min(250px, calc(100vw - 28px)) !important;
    }

    body.nith-company-menu-open .nith-company-page .nith-company-nav nav {
        transform: translate(-50%, 0) scale(1) !important;
    }
}

/* Correção final: o menu mobile institucional deve iniciar fechado e só abrir pelo botão. */
@media (max-width: 980px) {
    body:not(.nith-company-menu-open) .nith-company-page .nith-company-nav nav {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-10px) scale(.96) !important;
    }

    body.nith-company-menu-open .nith-company-page .nith-company-nav nav {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
    }
}

@media (max-width: 520px) {
    body:not(.nith-company-menu-open) .nith-company-page .nith-company-nav nav {
        transform: translate(-50%, -10px) scale(.96) !important;
    }

    body.nith-company-menu-open .nith-company-page .nith-company-nav nav {
        transform: translate(-50%, 0) scale(1) !important;
    }
}

/* Ajuste final NITH: hero e menu centralizados no desktop para evitar vazio lateral. */
@media (min-width: 981px) {
    .nith-company-page .nith-company-shell {
        margin-inline: auto !important;
        max-width: min(1240px, calc(100vw - 72px)) !important;
        width: 100% !important;
    }

    .nith-company-page .nith-company-nav {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
        align-items: center !important;
        justify-items: center !important;
    }

    .nith-company-page .nith-company-logo {
        justify-self: start !important;
        grid-column: 1 !important;
    }

    .nith-company-page .nith-company-nav nav {
        grid-column: 2 !important;
        justify-self: center !important;
        margin-inline: auto !important;
    }

    .nith-company-page .nith-company-hero {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        min-height: clamp(520px, 68vh, 720px) !important;
        text-align: center !important;
    }

    .nith-company-page .nith-company-copy {
        margin-inline: auto !important;
        max-width: 980px !important;
        text-align: center !important;
        width: 100% !important;
    }

    .nith-company-page .nith-company-copy > span {
        margin-inline: auto !important;
    }

    .nith-company-page .nith-company-copy h1 {
        margin-inline: auto !important;
        max-width: 11.4em !important;
        text-align: center !important;
    }

    .nith-company-page .nith-company-copy p {
        margin-inline: auto !important;
        max-width: 780px !important;
        text-align: center !important;
    }

    .nith-company-page .nith-company-actions,
    .nith-company-page .nith-company-trust {
        justify-content: center !important;
    }
}

/* NITH institucional: menu mobile fechado por padrão e FAQ com transição suave. */
@media (max-width: 980px) {
    .nith-company-page .nith-company-nav nav {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-10px) scale(.96) !important;
        transition: opacity .22s ease, transform .22s ease, visibility .22s ease !important;
    }

    body.nith-company-menu-open .nith-company-page .nith-company-nav nav,
    .nith-company-page .nith-company-menu-toggle[aria-expanded="true"] + nav {
        display: flex !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
    }
}

@media (max-width: 520px) {
    .nith-company-page .nith-company-nav nav {
        left: 50% !important;
        right: auto !important;
        width: min(214px, calc(100vw - 44px)) !important;
        transform: translate(-50%, -8px) scale(.96) !important;
    }

    body.nith-company-menu-open .nith-company-page .nith-company-nav nav,
    .nith-company-page .nith-company-menu-toggle[aria-expanded="true"] + nav {
        transform: translate(-50%, 0) scale(1) !important;
    }
}

.nith-company-page .nith-company-faq details {
    overflow: hidden;
    transition: border-color .24s ease, box-shadow .24s ease, background .24s ease, transform .24s ease;
}

.nith-company-page .nith-company-faq details:hover {
    transform: translateY(-2px);
}

.nith-company-page .nith-company-faq details p {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-6px);
    transition: max-height .32s ease, opacity .24s ease, transform .24s ease, margin-top .24s ease;
}

.nith-company-page .nith-company-faq details[open] p,
.nith-company-page .nith-company-faq details.is-open p {
    opacity: 1;
    transform: translateY(0);
}

.nith-company-page .nith-company-faq details[open],
.nith-company-page .nith-company-faq details.is-open {
    border-color: rgba(34, 211, 238, .38);
    box-shadow: 0 18px 44px rgba(0, 209, 255, .08);
}

/* Ajuste final NITH: plataforma sem sobreposição pesada e marcadores limpos. */
.nith-company-page .nith-company-platform-card {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 330px;
}

.nith-company-page .nith-company-platform-card img {
    left: 50%;
    max-width: min(72%, 420px);
    opacity: .26;
    position: absolute;
    top: 46%;
    transform: translate(-50%, -50%) scale(.96);
    width: min(72%, 420px);
    z-index: 2;
}

.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
    background: rgba(2, 10, 27, .94);
    border-color: rgba(125, 211, 252, .26);
    left: clamp(18px, 5vw, 42px);
    max-width: 320px;
    z-index: 5;
}

.nith-company-page .nith-company-feature-list article {
    grid-template-columns: minmax(0, 1fr);
}

.nith-company-page .nith-company-feature-list article::before {
    content: none !important;
    display: none !important;
}

.nith-company-page .nith-company-feature-list strong,
.nith-company-page .nith-company-feature-list p {
    grid-column: auto !important;
}

.nith-company-page .nith-company-feature-list article strong::before {
    height: 4px;
    margin-right: 12px;
    vertical-align: middle;
    width: 18px;
}

/* NITH institucional: otimização de fluidez da página pública. */
.nith-company-page {
    background:
        radial-gradient(circle at 50% 0%, rgba(37, 99, 235, .24), transparent 36%),
        radial-gradient(circle at 8% 24%, rgba(34, 211, 238, .18), transparent 28%),
        linear-gradient(135deg, #020617 0%, #071733 54%, #082846 100%) !important;
}

.nith-company-page::before {
    animation: nithCompanySoftLight 24s ease-in-out infinite alternate !important;
    background:
        radial-gradient(circle at 22% 16%, rgba(34, 211, 238, .22), transparent 28%),
        linear-gradient(105deg, transparent 0 44%, rgba(37, 99, 235, .13) 54%, transparent 66%) !important;
    filter: none !important;
    inset: 0 !important;
    opacity: .72 !important;
    transform: translateZ(0);
}

.nith-company-page::after {
    animation: none !important;
    background:
        linear-gradient(rgba(125, 211, 252, .035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(125, 211, 252, .035) 1px, transparent 1px) !important;
    background-size: 96px 96px !important;
    opacity: .22 !important;
}

@keyframes nithCompanySoftLight {
    from { transform: translate3d(-18px, -8px, 0); }
    to { transform: translate3d(18px, 10px, 0); }
}

.nith-company-page .nith-company-logo picture,
.nith-company-page .nith-company-platform-card picture,
.nith-company-page .nith-company-avatar picture {
    display: contents;
}

.nith-company-page .nith-company-logo img {
    content-visibility: auto;
    height: auto;
}

.nith-company-page .nith-company-platform-card {
    contain: layout paint;
}

.nith-company-page .nith-company-platform-card img {
    content-visibility: auto;
    filter: drop-shadow(0 14px 30px rgba(14, 165, 233, .18)) !important;
    max-width: min(68%, 380px) !important;
    width: min(68%, 380px) !important;
}

.nith-company-page .nith-company-avatar {
    contain: layout paint;
    perspective: none !important;
}

.nith-company-page .nith-company-avatar::before {
    animation: none !important;
    box-shadow: inset 0 0 22px rgba(37, 99, 235, .08) !important;
}

.nith-company-page .nith-company-avatar::after {
    animation-duration: 18s !important;
    opacity: .58;
}

.nith-company-page .nith-company-avatar-glow {
    animation: nithRobotGlowLite 5.5s ease-in-out infinite alternate !important;
    filter: blur(5px) !important;
    opacity: .78;
}

@keyframes nithRobotGlowLite {
    from { opacity: .58; transform: translate3d(0, 0, 0) scale(.98); }
    to { opacity: .82; transform: translate3d(0, -4px, 0) scale(1.02); }
}

.nith-company-page .nith-company-avatar .nith-company-robot-image {
    animation: nithRobotStillFloat 6.2s ease-in-out infinite alternate !important;
    filter: drop-shadow(0 24px 42px rgba(2, 6, 23, .42)) drop-shadow(0 0 20px rgba(34, 211, 238, .14)) !important;
    transform:
        translate3d(calc(var(--robot-x, 0px) * .18), calc(var(--robot-y, 0px) * .14), 0)
        rotate(calc(var(--robot-rotate, 0deg) * .42)) !important;
    will-change: transform;
}

.nith-company-page .nith-company-avatar.is-active .nith-company-robot-image {
    filter: drop-shadow(0 28px 48px rgba(2, 6, 23, .48)) drop-shadow(0 0 26px rgba(34, 211, 238, .22)) !important;
}

.nith-company-page .nith-company-services article,
.nith-company-page .nith-company-process-grid article,
.nith-company-page .nith-company-faq details,
.nith-company-type-grid article {
    box-shadow: 0 14px 36px rgba(2, 6, 23, .18) !important;
}

.nith-company-page .nith-company-faq details:hover,
.nith-company-type-grid article:hover {
    transform: translateY(-2px) !important;
}

@media (max-width: 760px) {
    .nith-company-page::before {
        animation: none !important;
        opacity: .6 !important;
    }

    .nith-company-page::after {
        display: none !important;
    }

    .nith-company-page .nith-company-nav nav {
        backdrop-filter: none !important;
        box-shadow: 0 18px 42px rgba(0, 0, 0, .36) !important;
    }

    .nith-company-page .nith-company-avatar .nith-company-robot-image {
        animation-duration: 7s !important;
        max-height: 300px !important;
        max-width: 300px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nith-company-page *,
    .nith-company-page::before,
    .nith-company-page::after {
        animation: none !important;
        transition-duration: .01ms !important;
    }
}

/* NITH institucional: modo fluido. Remove gargalos de repintura da landing pública. */
.nith-company-page {
    background:
        radial-gradient(circle at 50% -10%, rgba(37, 99, 235, .28), transparent 34%),
        radial-gradient(circle at 10% 24%, rgba(34, 211, 238, .18), transparent 30%),
        linear-gradient(135deg, #020617 0%, #07152d 52%, #082744 100%) !important;
}

.nith-company-page::before,
.nith-company-page::after {
    animation: none !important;
    filter: none !important;
    transform: none !important;
}

.nith-company-page::after {
    display: none !important;
}

.nith-company-page .nith-company-card,
.nith-company-page .nith-company-avatar,
.nith-company-page .nith-company-avatar-glow,
.nith-company-page .nith-company-robot-image {
    animation: none !important;
}

.nith-company-page .nith-company-card,
.nith-company-page .nith-company-services article,
.nith-company-page .nith-company-platform,
.nith-company-page .nith-company-contact,
.nith-company-page .nith-company-process-grid article,
.nith-company-page .nith-company-faq details,
.nith-company-page .nith-company-type-grid article {
    backdrop-filter: none !important;
    box-shadow: 0 12px 28px rgba(2, 6, 23, .22) !important;
    transform: translateZ(0);
}

.nith-company-page .nith-company-services article:hover,
.nith-company-page .nith-company-process-grid article:hover,
.nith-company-page .nith-company-type-grid article:hover,
.nith-company-page .nith-company-faq details:hover {
    box-shadow: 0 16px 34px rgba(2, 6, 23, .28) !important;
    transform: translate3d(0, -1px, 0) !important;
}

.nith-company-page .nith-company-card img,
.nith-company-page .nith-company-robot-image,
.nith-company-page .nith-company-logo img {
    filter: none !important;
}

.nith-company-page .nith-company-robot-image {
    transition: transform .08s linear !important;
    will-change: transform;
}

.nith-company-page .nith-company-avatar-glow {
    filter: none !important;
    opacity: .34 !important;
}

.nith-company-page .nith-company-faq details {
    contain: layout paint;
    transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease !important;
}

.nith-company-page .nith-company-faq details p {
    display: none;
    max-height: none !important;
    opacity: 1 !important;
    overflow: visible !important;
    transform: none !important;
    transition: none !important;
}

.nith-company-page .nith-company-faq details[open] p {
    display: block;
}

.nith-company-page .nith-company-faq summary {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}

.nith-company-page .nith-company-faq summary::before {
    transform: translateZ(0);
}

.nith-company-page .nith-company-services,
.nith-company-page .nith-company-site-types,
.nith-company-page .nith-company-platform,
.nith-company-page .nith-company-process,
.nith-company-page .nith-company-agency,
.nith-company-page .nith-company-faq,
.nith-company-page .nith-company-contact {
    content-visibility: auto;
    contain-intrinsic-size: 1px 640px;
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-services,
    .nith-company-page .nith-company-site-types,
    .nith-company-page .nith-company-platform,
    .nith-company-page .nith-company-process,
    .nith-company-page .nith-company-agency,
    .nith-company-page .nith-company-faq,
    .nith-company-page .nith-company-contact {
        contain-intrinsic-size: 1px 520px;
    }

    .nith-company-page .nith-company-services article:hover,
    .nith-company-page .nith-company-process-grid article:hover,
    .nith-company-page .nith-company-type-grid article:hover,
    .nith-company-page .nith-company-faq details:hover {
        transform: none !important;
    }
}

/* NITH institucional: ajuste final de fluidez do robô e card da plataforma. */
.nith-company-page .nith-company-avatar {
    cursor: default !important;
    height: clamp(280px, 32vw, 390px) !important;
    max-width: min(100%, 390px) !important;
    pointer-events: none !important;
    transform: translateZ(0) !important;
    will-change: auto !important;
}

.nith-company-page .nith-company-avatar,
.nith-company-page .nith-company-avatar::before,
.nith-company-page .nith-company-avatar::after,
.nith-company-page .nith-company-avatar-glow,
.nith-company-page .nith-company-robot-image {
    animation: none !important;
}

.nith-company-page .nith-company-avatar::before,
.nith-company-page .nith-company-avatar::after {
    display: none !important;
}

.nith-company-page .nith-company-avatar-glow {
    filter: none !important;
    opacity: .22 !important;
}

.nith-company-page .nith-company-avatar .nith-company-robot-image,
.nith-company-page .nith-company-avatar.is-active .nith-company-robot-image,
.nith-company-page .nith-company-avatar.is-pressing .nith-company-robot-image {
    filter: none !important;
    left: auto !important;
    max-height: clamp(260px, 32vw, 380px) !important;
    max-width: min(100%, 380px) !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
    transition: none !important;
    width: min(100%, 380px) !important;
    will-change: auto !important;
}

.nith-company-page .nith-company-platform-card {
    align-items: center !important;
    display: grid !important;
    justify-items: center !important;
    min-height: clamp(300px, 34vw, 420px) !important;
    overflow: hidden !important;
    padding: clamp(22px, 4vw, 44px) !important;
}

.nith-company-page .nith-company-platform-card picture {
    display: block !important;
}

.nith-company-page .nith-company-platform-card img {
    content-visibility: visible !important;
    display: block !important;
    filter: none !important;
    left: auto !important;
    margin: 0 auto !important;
    max-width: min(72%, 460px) !important;
    opacity: .9 !important;
    position: relative !important;
    top: auto !important;
    transform: none !important;
    width: min(72%, 460px) !important;
}

.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
    background: rgba(2, 10, 27, .92) !important;
    bottom: clamp(16px, 4vw, 32px) !important;
    left: clamp(16px, 4vw, 34px) !important;
    max-width: min(76%, 330px) !important;
    position: absolute !important;
    z-index: 4 !important;
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-avatar {
        height: 300px !important;
        max-width: 300px !important;
    }

    .nith-company-page .nith-company-avatar .nith-company-robot-image {
        max-height: 285px !important;
        max-width: 285px !important;
        width: min(100%, 285px) !important;
    }

    .nith-company-page .nith-company-platform-card {
        min-height: 300px !important;
        padding: 20px !important;
    }

    .nith-company-page .nith-company-platform-card img {
        max-width: 84% !important;
        opacity: .82 !important;
        transform: translateY(-12px) !important;
        width: 84% !important;
    }

    .nith-company-page .nith-company-platform-card .nith-company-mini-panel {
        bottom: 16px !important;
        left: 16px !important;
        max-width: calc(100% - 32px) !important;
        width: calc(100% - 32px) !important;
    }
}

/* NITH institucional: refinamento visual leve sem custo alto de mouse/touch. */
@keyframes nithRobotGentleFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0) rotate(-1deg);
    }
    50% {
        transform: translate3d(0, -9px, 0) rotate(1deg);
    }
}

@keyframes nithRobotSoftGlow {
    0%, 100% {
        opacity: .18;
        transform: translate3d(-50%, -50%, 0) scale(.96);
    }
    50% {
        opacity: .32;
        transform: translate3d(-50%, -50%, 0) scale(1.04);
    }
}

.nith-company-page .nith-company-avatar {
    animation: nithRobotGentleFloat 5.8s ease-in-out infinite !important;
    isolation: isolate !important;
    pointer-events: auto !important;
}

.nith-company-page .nith-company-avatar:hover {
    animation-duration: 4.6s !important;
}

.nith-company-page .nith-company-avatar-glow {
    animation: nithRobotSoftGlow 6s ease-in-out infinite !important;
    background: radial-gradient(circle, rgba(32, 211, 255, .22), rgba(32, 211, 255, 0) 64%) !important;
    filter: none !important;
}

.nith-company-page .nith-company-avatar .nith-company-robot-image {
    animation: none !important;
    transform: translateZ(0) !important;
    transition: filter .18s ease !important;
}

.nith-company-page .nith-company-avatar:hover .nith-company-robot-image {
    filter: drop-shadow(0 18px 30px rgba(20, 184, 255, .14)) !important;
}

.nith-company-page .nith-company-platform-card {
    min-height: clamp(360px, 38vw, 500px) !important;
    overflow: hidden !important;
    padding: clamp(24px, 4vw, 48px) !important;
}

.nith-company-page .nith-company-platform-card picture {
    align-items: center !important;
    display: flex !important;
    height: 100% !important;
    justify-content: center !important;
    max-height: 330px !important;
    max-width: 100% !important;
    width: 100% !important;
}

.nith-company-page .nith-company-platform-card img {
    height: auto !important;
    max-height: 280px !important;
    max-width: min(86%, 560px) !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: .96 !important;
    transform: none !important;
    width: min(86%, 560px) !important;
}

.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
    bottom: clamp(22px, 4vw, 42px) !important;
    left: clamp(22px, 4vw, 42px) !important;
    max-width: min(58%, 340px) !important;
}

@media (max-width: 760px) {
    .nith-company-page .nith-company-avatar {
        animation-duration: 6.5s !important;
    }

    .nith-company-page .nith-company-platform-card {
        min-height: 370px !important;
        padding: 18px !important;
    }

    .nith-company-page .nith-company-platform-card picture {
        align-items: flex-start !important;
        height: 230px !important;
        max-height: 230px !important;
        padding-top: 16px !important;
    }

    .nith-company-page .nith-company-platform-card img {
        max-height: 185px !important;
        max-width: 92% !important;
        transform: none !important;
        width: 92% !important;
    }

    .nith-company-page .nith-company-platform-card .nith-company-mini-panel {
        bottom: 16px !important;
        left: 16px !important;
        max-width: calc(100% - 32px) !important;
        width: calc(100% - 32px) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nith-company-page .nith-company-avatar,
    .nith-company-page .nith-company-avatar-glow {
        animation: none !important;
    }
}
/* NITH public site hero - final layout */
.nith-company-page .nith-company-shell {
    width: min(1440px, calc(100% - 40px));
}

.nith-company-page .nith-company-nav {
    align-items: center;
    display: grid;
    grid-template-columns: 220px 1fr auto;
    gap: 24px;
    padding: 18px 28px;
}

.nith-company-page .nith-company-nav nav {
    justify-self: center;
}

.nith-company-page .nith-company-nav nav a::before,
.nith-company-page .nith-company-nav nav a::after {
    content: none !important;
    display: none !important;
}

.nith-company-page .nith-company-nav nav a {
    padding: 14px 18px !important;
}

.nith-company-page .nith-company-menu-toggle {
    display: none;
}

.nith-company-quote-action {
    align-items: center;
    background: linear-gradient(135deg, #1d7cff, #18d7df);
    border: 1px solid rgba(120, 220, 255, .42);
    border-radius: 12px;
    box-shadow: 0 16px 38px rgba(0, 132, 255, .24);
    color: #ffffff !important;
    display: inline-flex;
    font-size: .88rem;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 46px;
    padding: 0 18px;
    text-decoration: none;
    white-space: nowrap;
}

.nith-company-quote-action svg {
    fill: currentColor;
    height: 16px;
    width: 16px;
}

.nith-company-hero-showcase {
    align-items: center;
    display: grid !important;
    grid-template-columns: minmax(360px, .9fr) minmax(480px, 1.1fr);
    gap: 38px;
    min-height: 650px;
    overflow: hidden;
    padding: 54px 36px 28px !important;
    position: relative;
}

.nith-company-hero-showcase::before {
    background:
        radial-gradient(circle at 78% 46%, rgba(0, 149, 255, .24), transparent 32%),
        radial-gradient(circle at 46% 96%, rgba(25, 213, 214, .16), transparent 34%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.nith-company-hero-showcase .nith-company-copy,
.nith-company-hero-device,
.nith-company-hero-cards {
    position: relative;
    z-index: 1;
}

.nith-company-hero-showcase .nith-company-copy {
    max-width: 620px;
}

.nith-company-kicker {
    align-items: center;
    background: rgba(4, 28, 48, .68);
    border: 1px solid rgba(34, 211, 238, .42);
    border-radius: 999px;
    color: #28dfff;
    display: inline-flex;
    font-size: .8rem;
    font-weight: 900;
    letter-spacing: .12em;
    padding: 10px 16px;
    text-transform: uppercase;
}

.nith-company-hero-showcase h1 {
    color: #f7fbff;
    font-size: clamp(2.6rem, 5.3vw, 5.6rem);
    letter-spacing: -.06em;
    line-height: .96;
    margin: 24px 0 20px;
    text-shadow: 0 16px 50px rgba(0, 0, 0, .24);
}

.nith-company-hero-showcase h1 strong {
    background: linear-gradient(135deg, #31d7ff, #1378ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.nith-company-hero-showcase p {
    color: rgba(230, 242, 255, .88);
    font-size: clamp(1rem, 1.25vw, 1.18rem);
    line-height: 1.75;
}

.nith-company-hero-showcase .nith-company-actions {
    margin-top: 30px;
}

.nith-company-play-dot {
    border: 6px solid transparent;
    border-left-color: currentColor;
    display: inline-block;
    height: 0;
    margin-left: 4px;
    width: 0;
}

.nith-company-hero-points {
    display: flex;
    gap: 18px;
    margin-top: 28px;
}

.nith-company-hero-points span {
    align-items: center;
    border: 0 !important;
    display: inline-flex;
    gap: 10px;
    padding: 0 !important;
}

.nith-company-hero-points i {
    align-items: center;
    background: rgba(0, 117, 255, .13);
    border: 1px solid rgba(37, 169, 255, .34);
    border-radius: 50%;
    color: #22d3ee;
    display: inline-flex;
    font-style: normal;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.nith-company-hero-device {
    min-height: 430px;
    transform: perspective(1100px) rotateX(3deg) rotateY(-9deg);
}

.nith-device-orbit {
    border: 1px solid rgba(0, 147, 255, .5);
    border-radius: 50%;
    box-shadow: 0 0 50px rgba(0, 127, 255, .45), inset 0 0 34px rgba(18, 216, 255, .16);
    height: 430px;
    position: absolute;
    right: -36px;
    top: 36px;
    width: 430px;
}

.nith-device-laptop {
    bottom: 10px;
    filter: drop-shadow(0 38px 48px rgba(0, 0, 0, .42));
    position: absolute;
    right: 4%;
    width: min(720px, 96%);
}

.nith-device-screen {
    background: linear-gradient(145deg, #061326, #0c1e3b);
    border: 2px solid rgba(168, 213, 255, .36);
    border-radius: 22px;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
    min-height: 360px;
    overflow: hidden;
    padding: 18px;
}

.nith-device-topbar span {
    background: rgba(148, 163, 184, .42);
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin-right: 8px;
    width: 8px;
}

.nith-device-inside {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
    height: 316px;
    margin-top: 14px;
}

.nith-device-left {
    background: rgba(2, 11, 25, .74);
    border-right: 1px solid rgba(148, 163, 184, .12);
    color: #fff;
    padding: 20px 16px;
}

.nith-device-left strong {
    display: block;
    letter-spacing: .05em;
    margin-bottom: 2px;
}

.nith-device-left small {
    color: #22d3ee;
    display: block;
    margin-bottom: 22px;
}

.nith-device-left i,
.nith-device-menu b {
    background: rgba(16, 38, 70, .9);
    border-radius: 10px;
    display: block;
    height: 36px;
    margin: 12px 0;
}

.nith-device-content {
    color: #fff;
    padding: 12px 8px 8px 0;
}

.nith-device-menu {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.nith-device-menu b {
    height: 4px;
    margin: 0;
    width: 52px;
}

.nith-device-content h2 {
    font-size: 2rem;
    line-height: 1.1;
    margin: 28px 0 12px;
    max-width: 330px;
}

.nith-device-content h2 em {
    color: #21b9ff;
    font-style: normal;
}

.nith-device-content p {
    color: rgba(226, 239, 255, .7);
    font-size: .9rem;
    line-height: 1.45;
    max-width: 360px;
}

.nith-device-button {
    background: linear-gradient(135deg, #1ad0c1, #168cff);
    border-radius: 10px;
    height: 40px;
    margin: 24px 0;
    width: 160px;
}

.nith-device-dashboard {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(3, 1fr);
}

.nith-device-dashboard div {
    background: rgba(11, 30, 60, .86);
    border: 1px solid rgba(96, 165, 250, .14);
    border-radius: 12px;
    padding: 14px;
}

.nith-device-dashboard small {
    color: rgba(226, 239, 255, .66);
    display: block;
    font-size: .7rem;
    text-transform: uppercase;
}

.nith-device-dashboard strong {
    color: #fff;
    display: block;
    font-size: 1.35rem;
    margin-top: 6px;
}

.nith-device-chart {
    background: rgba(7, 19, 40, .8);
    border: 1px solid rgba(96, 165, 250, .12);
    border-radius: 14px;
    height: 96px;
    margin-top: 14px;
    overflow: hidden;
    position: relative;
}

.nith-device-chart span {
    background: linear-gradient(135deg, transparent 12%, #1da1ff 13%, #21e4ff 16%, transparent 17%, transparent 38%, #1988ff 39%, #26e8ff 42%, transparent 43%);
    inset: 20px;
    position: absolute;
}

.nith-device-base {
    background: linear-gradient(180deg, #95a3b5, #303846);
    border-radius: 0 0 44px 44px;
    height: 24px;
    margin: -1px auto 0;
    width: 78%;
}

.nith-company-hero-cards {
    display: grid;
    gap: 20px;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nith-company-hero-cards article {
    align-items: center;
    background: linear-gradient(145deg, rgba(15, 32, 62, .86), rgba(5, 17, 35, .92));
    border: 1px solid rgba(41, 175, 255, .18);
    border-radius: 20px;
    display: grid;
    gap: 18px;
    grid-template-columns: auto 1fr auto;
    min-height: 124px;
    padding: 22px;
}

.nith-company-hero-cards h2 {
    color: #fff;
    font-size: 1.1rem;
    margin: 0 0 6px;
}

.nith-company-hero-cards p {
    color: rgba(226, 239, 255, .72);
    font-size: .9rem;
    line-height: 1.45;
    margin: 0;
}

.nith-company-hero-cards small {
    align-items: center;
    border: 1px solid rgba(99, 179, 255, .28);
    border-radius: 50%;
    color: #8bdcff;
    display: inline-flex;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.nith-card-icon {
    background: linear-gradient(135deg, #0a79ff, #22d3ee);
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(0, 153, 255, .2);
    height: 60px;
    position: relative;
    width: 60px;
}

.nith-card-icon::before,
.nith-card-icon::after {
    border: 2px solid #dff8ff;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.nith-card-icon-globe::before { border-radius: 50%; height: 28px; width: 28px; }
.nith-card-icon-globe::after { border-left: 0; border-right: 0; height: 12px; width: 32px; }
.nith-card-icon-code::before { border-bottom: 0; border-right: 0; height: 18px; transform: translate(-70%, -50%) rotate(-45deg); width: 18px; }
.nith-card-icon-code::after { border-left: 0; border-top: 0; height: 18px; transform: translate(-30%, -50%) rotate(-45deg); width: 18px; }
.nith-card-icon-bot::before { border-radius: 9px; height: 26px; width: 30px; }
.nith-card-icon-bot::after { border-radius: 50%; box-shadow: 12px 0 0 #dff8ff; height: 4px; width: 4px; }

@media (max-width: 900px) {
    .nith-company-page .nith-company-shell {
        width: min(100% - 24px, 520px);
    }

    .nith-company-page .nith-company-nav {
        grid-template-columns: 1fr auto auto;
        padding: 14px;
        position: relative;
    }

    .nith-company-page .nith-company-menu-toggle {
        display: inline-flex;
    }

    .nith-company-quote-action {
        display: none;
    }

    .nith-company-page .nith-company-nav nav {
        background: linear-gradient(145deg, rgba(7, 22, 43, .98), rgba(11, 43, 70, .94));
        border: 1px solid rgba(34, 211, 238, .28);
        border-radius: 18px;
        box-shadow: 0 22px 50px rgba(0, 0, 0, .28);
        display: grid;
        gap: 8px;
        left: auto !important;
        opacity: 0 !important;
        padding: 10px !important;
        pointer-events: none !important;
        position: absolute !important;
        right: 14px !important;
        top: 74px !important;
        transform: translateY(-8px) scale(.98) !important;
        transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
        visibility: hidden !important;
        width: min(210px, calc(100vw - 28px)) !important;
        z-index: 50;
    }

    body.nith-company-menu-open .nith-company-page .nith-company-nav nav {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        visibility: visible !important;
    }

    .nith-company-page .nith-company-nav nav a {
        background: rgba(9, 25, 48, .82);
        border: 1px solid rgba(148, 163, 184, .14);
        border-radius: 12px;
        justify-content: flex-start;
        min-height: 42px;
        padding: 0 14px !important;
    }

    .nith-company-hero-showcase {
        display: grid !important;
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 34px 16px 20px !important;
        text-align: center;
    }

    .nith-company-hero-showcase .nith-company-copy {
        margin: 0 auto;
    }

    .nith-company-hero-showcase .nith-company-actions,
    .nith-company-hero-points {
        justify-content: center;
    }

    .nith-company-hero-points {
        display: grid;
    }

    .nith-company-hero-device {
        min-height: 300px;
        transform: none;
    }

    .nith-device-laptop {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: min(430px, 94vw);
    }

    .nith-device-screen {
        min-height: 270px;
        padding: 12px;
    }

    .nith-device-inside {
        grid-template-columns: 74px 1fr;
        height: 234px;
    }

    .nith-device-left {
        padding: 14px 10px;
    }

    .nith-device-left i {
        height: 24px;
        margin: 9px 0;
    }

    .nith-device-content h2 {
        font-size: 1.25rem;
        margin-top: 18px;
    }

    .nith-device-content p,
    .nith-device-button,
    .nith-device-dashboard,
    .nith-device-chart {
        display: none;
    }

    .nith-device-orbit {
        height: 250px;
        right: 0;
        top: 28px;
        width: 250px;
    }

    .nith-company-hero-cards {
        grid-template-columns: 1fr;
    }
}

/* WhatsApp admin campaign progress */
.campaign-progress-card {
    gap: 14px;
}

.campaign-progress-track {
    background: rgba(8, 19, 36, .9);
    border: 1px solid rgba(77, 208, 255, .18);
    border-radius: 999px;
    height: 14px;
    overflow: hidden;
}

.campaign-progress-track span {
    background: linear-gradient(90deg, #22c55e, #22d3ee, #1d8cff);
    border-radius: inherit;
    box-shadow: 0 0 22px rgba(34, 211, 238, .36);
    display: block;
    height: 100%;
    min-width: 10px;
    transition: width .35s ease;
}

.campaign-progress-card.is-finished .campaign-progress-track span {
    background: linear-gradient(90deg, #10b981, #22c55e);
}

.campaign-complete-action {
    display: flex;
    justify-content: flex-end;
}

.campaign-complete-action .button-secondary {
    min-height: 42px;
    padding-inline: 20px;
}

.manual-phone-field:not(.is-visible) {
    display: none !important;
}

.message-panel .message-form {
    display: grid;
    gap: 18px;
}

.message-panel input,
.message-panel select,
.message-panel textarea {
    background: rgba(3, 12, 25, .82);
    border: 1px solid rgba(92, 148, 199, .28);
    border-radius: 14px;
    color: #eef7ff;
    min-height: 48px;
    outline: none;
    padding: 14px 16px;
    width: 100%;
}

.message-panel textarea {
    min-height: 150px;
    resize: vertical;
}

.message-panel input:focus,
.message-panel select:focus,
.message-panel textarea:focus {
    border-color: rgba(34, 211, 238, .72);
    box-shadow: 0 0 0 4px rgba(34, 211, 238, .1);
}

/* NITH public site final repair - layout, mobile menu, robot and public widgets */
.nith-company-page .notification-bell-shell,
.nith-company-page .notification-modal {
    display: none !important;
}

.nith-company-page {
    overflow-x: hidden;
}

.nith-company-page::before {
    animation: nithPublicBgDrift 16s ease-in-out infinite alternate;
    background:
        radial-gradient(circle at 18% 24%, rgba(34, 211, 238, .18), transparent 34%),
        radial-gradient(circle at 72% 14%, rgba(29, 140, 255, .2), transparent 32%),
        linear-gradient(115deg, rgba(7, 52, 83, .2), rgba(16, 38, 86, .08));
    content: "";
    inset: 0;
    opacity: .9;
    pointer-events: none;
    position: fixed;
    z-index: -1;
}

@keyframes nithPublicBgDrift {
    from { transform: translate3d(-1.5%, -1%, 0) scale(1); }
    to { transform: translate3d(1.5%, 1%, 0) scale(1.035); }
}

.nith-company-page .nith-company-shell {
    margin-inline: auto !important;
    max-width: 1280px !important;
    overflow: visible !important;
    width: min(100% - 40px, 1280px) !important;
}

.nith-company-page .nith-company-nav {
    align-items: center !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: auto 1fr auto !important;
    margin: 26px auto 38px !important;
    max-width: 1180px !important;
    position: relative !important;
    width: 100% !important;
}

.nith-company-page .nith-company-logo {
    pointer-events: none !important;
}

.nith-company-page .nith-company-nav nav {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    margin-inline: auto !important;
}

.nith-company-page .nith-company-hero-showcase {
    align-items: center !important;
    display: grid !important;
    gap: clamp(24px, 4vw, 52px) !important;
    grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr) !important;
    margin: 0 auto 44px !important;
    max-width: 1180px !important;
    min-height: 610px !important;
    overflow: hidden !important;
    padding: clamp(36px, 5vw, 64px) clamp(26px, 4vw, 52px) 28px !important;
    position: relative !important;
    width: 100% !important;
}

.nith-company-page .nith-company-hero-showcase .nith-company-copy {
    max-width: 560px !important;
    position: relative !important;
    z-index: 2 !important;
}

.nith-company-page .nith-company-hero-showcase h1 {
    font-size: clamp(3.35rem, 5.8vw, 5.6rem) !important;
    letter-spacing: -.07em !important;
    line-height: .94 !important;
    margin-bottom: 22px !important;
}

.nith-company-page .nith-company-hero-showcase p {
    color: rgba(232, 244, 255, .86) !important;
    font-size: clamp(1rem, 1.35vw, 1.15rem) !important;
    line-height: 1.65 !important;
}

.nith-company-page .nith-company-hero-points {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px 16px !important;
}

.nith-company-page .nith-company-hero-points span {
    background: rgba(5, 18, 36, .56) !important;
    border: 1px solid rgba(77, 208, 255, .16) !important;
    border-radius: 999px !important;
    color: rgba(239, 248, 255, .92) !important;
    padding: 8px 12px !important;
}

.nith-company-page .nith-company-hero-points i {
    align-items: center !important;
    background: linear-gradient(135deg, #25d4ce, #1b8dff) !important;
    border-radius: 50% !important;
    color: transparent !important;
    display: inline-flex !important;
    height: 9px !important;
    margin-right: 6px !important;
    width: 9px !important;
}

.nith-company-page .nith-company-hero-device {
    min-height: 430px !important;
    position: relative !important;
    transform: none !important;
    width: 100% !important;
    z-index: 1 !important;
}

.nith-company-page .nith-device-laptop {
    left: 50% !important;
    max-width: 650px !important;
    right: auto !important;
    top: 50% !important;
    transform: translate(-50%, -50%) rotate(-3deg) !important;
    width: min(100%, 650px) !important;
}

.nith-company-page .nith-company-hero-cards {
    display: grid !important;
    gap: 16px !important;
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 10px !important;
    width: 100% !important;
}

.nith-company-page .nith-company-hero-cards article {
    align-items: center !important;
    backdrop-filter: blur(12px) !important;
    background: linear-gradient(145deg, rgba(10, 28, 53, .92), rgba(9, 44, 74, .76)) !important;
    border-color: rgba(76, 208, 255, .2) !important;
    display: grid !important;
    grid-template-columns: 58px 1fr auto !important;
    min-height: 116px !important;
    overflow: hidden !important;
    padding: 20px !important;
}

.nith-company-page .nith-card-icon {
    border-radius: 16px !important;
    height: 54px !important;
    width: 54px !important;
}

.nith-company-page .nith-company-platform-card {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 390px !important;
    overflow: hidden !important;
    padding: 34px !important;
    position: relative !important;
}

.nith-company-page .nith-company-platform-card picture {
    align-items: center !important;
    display: flex !important;
    inset: auto !important;
    justify-content: center !important;
    max-height: 210px !important;
    max-width: 78% !important;
    position: static !important;
    width: 100% !important;
}

.nith-company-page .nith-company-platform-card img {
    display: block !important;
    filter: drop-shadow(0 22px 36px rgba(0, 189, 255, .18)) !important;
    height: auto !important;
    max-height: 180px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    opacity: .72 !important;
    transform: none !important;
    width: auto !important;
}

.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
    bottom: 34px !important;
    left: 34px !important;
    margin: 0 !important;
    max-width: 330px !important;
    position: absolute !important;
    z-index: 3 !important;
}

.nith-company-page .nith-company-faq details {
    background: rgba(8, 21, 40, .86) !important;
    border: 1px solid rgba(77, 208, 255, .17) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    padding: 0 !important;
    transition: border-color .18s ease, background .18s ease, transform .18s ease !important;
}

.nith-company-page .nith-company-faq details:hover {
    border-color: rgba(77, 208, 255, .42) !important;
    transform: translateY(-2px) !important;
}

.nith-company-page .nith-company-faq summary {
    align-items: center !important;
    color: rgba(240, 248, 255, .96) !important;
    cursor: pointer !important;
    display: flex !important;
    gap: 16px !important;
    justify-content: space-between !important;
    min-height: 92px !important;
    padding: 24px 28px !important;
}

.nith-company-page .nith-company-faq summary::before {
    display: none !important;
}

.nith-company-page .nith-company-faq summary::after {
    align-items: center !important;
    background: rgba(34, 211, 238, .12) !important;
    border: 1px solid rgba(34, 211, 238, .28) !important;
    border-radius: 12px !important;
    color: #28e0ff !important;
    content: "+" !important;
    display: inline-flex !important;
    flex: 0 0 34px !important;
    font-size: 1.45rem !important;
    height: 34px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin-left: auto !important;
    position: static !important;
    transform: none !important;
    width: 34px !important;
}

.nith-company-page .nith-company-faq details[open] summary::after {
    content: "−" !important;
}

.nith-company-page .nith-company-faq p {
    color: rgba(226, 239, 255, .82) !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 28px !important;
    transition: max-height .22s ease, opacity .18s ease, padding .22s ease !important;
}

.nith-company-page .nith-company-faq details[open] p {
    max-height: 220px;
    opacity: 1;
    padding: 0 28px 24px !important;
}

.nith-company-page .nith-company-avatar {
    --robot-x: 0px;
    --robot-y: 0px;
    align-items: center !important;
    animation: nithRobotFloat 4.8s ease-in-out infinite !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 430px !important;
    position: relative !important;
    transform: translate3d(var(--robot-x), var(--robot-y), 0) !important;
    will-change: transform !important;
}

.nith-company-page .nith-company-avatar::before {
    animation: nithRobotRing 9s linear infinite !important;
    border: 2px dashed rgba(45, 224, 255, .34) !important;
    border-radius: 50% !important;
    content: "" !important;
    height: min(84%, 430px) !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(84%, 430px) !important;
    z-index: 0 !important;
}

.nith-company-page .nith-company-avatar::after {
    animation: nithRobotPulse 2.8s ease-in-out infinite !important;
    background: radial-gradient(circle, rgba(34, 211, 238, .22), transparent 62%) !important;
    border-radius: 50% !important;
    content: "" !important;
    height: min(92%, 470px) !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(92%, 470px) !important;
    z-index: 0 !important;
}

.nith-company-page .nith-company-avatar-glow {
    display: none !important;
}

.nith-company-page .nith-company-avatar picture,
.nith-company-page .nith-company-avatar .nith-company-robot-image {
    position: relative !important;
    z-index: 2 !important;
}

.nith-company-page .nith-company-avatar .nith-company-robot-image {
    filter: drop-shadow(0 26px 38px rgba(0, 0, 0, .32)) drop-shadow(0 0 26px rgba(34, 211, 238, .2)) !important;
    max-height: 430px !important;
    max-width: min(86%, 430px) !important;
    object-fit: contain !important;
    transform: translateZ(0) !important;
    transition: filter .2s ease, transform .2s ease !important;
}

.nith-company-page .nith-company-avatar:hover .nith-company-robot-image {
    filter: drop-shadow(0 32px 44px rgba(0, 0, 0, .38)) drop-shadow(0 0 34px rgba(34, 211, 238, .36)) !important;
    transform: translateY(-8px) scale(1.025) rotate(-1deg) !important;
}

@keyframes nithRobotFloat {
    0%, 100% { margin-top: 0; }
    50% { margin-top: -16px; }
}

@keyframes nithRobotRing {
    to { rotate: 360deg; }
}

@keyframes nithRobotPulse {
    0%, 100% { opacity: .56; scale: .96; }
    50% { opacity: .82; scale: 1.03; }
}

@media (max-width: 900px) {
    .nith-company-page .nith-company-shell {
        max-width: 520px !important;
        overflow: hidden !important;
        width: min(100% - 22px, 520px) !important;
    }

    .nith-company-page .nith-company-nav {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        margin: 18px auto 24px !important;
        padding: 12px 0 !important;
    }

    .nith-company-page .nith-company-menu-toggle {
        display: inline-flex !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        z-index: 80 !important;
    }

    .nith-company-page .nith-company-nav nav {
        align-items: stretch !important;
        background: linear-gradient(145deg, rgba(7, 22, 43, .98), rgba(10, 42, 68, .94)) !important;
        border: 1px solid rgba(34, 211, 238, .34) !important;
        border-radius: 20px !important;
        box-shadow: 0 24px 52px rgba(0, 0, 0, .34) !important;
        display: grid !important;
        gap: 8px !important;
        opacity: 0 !important;
        padding: 10px !important;
        pointer-events: none !important;
        position: absolute !important;
        right: 0 !important;
        top: 66px !important;
        transform: translateY(-10px) scale(.98) !important;
        transition: opacity .16s ease, transform .16s ease, visibility .16s ease !important;
        visibility: hidden !important;
        width: min(184px, calc(100vw - 44px)) !important;
        z-index: 70 !important;
    }

    body.nith-company-menu-open .nith-company-page .nith-company-nav nav {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        visibility: visible !important;
    }

    body:not(.nith-company-menu-open) .nith-company-page .nith-company-nav nav {
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    .nith-company-page .nith-company-nav nav a {
        border-radius: 13px !important;
        justify-content: flex-start !important;
        min-height: 38px !important;
        padding: 0 12px !important;
    }

    .nith-company-page .nith-company-hero-showcase {
        gap: 22px !important;
        grid-template-columns: 1fr !important;
        min-height: auto !important;
        padding: 28px 16px 18px !important;
        text-align: center !important;
    }

    .nith-company-page .nith-company-hero-showcase .nith-company-copy {
        margin: 0 auto !important;
        max-width: 340px !important;
    }

    .nith-company-page .nith-company-hero-showcase h1 {
        font-size: clamp(2.45rem, 13vw, 3.25rem) !important;
        line-height: .98 !important;
    }

    .nith-company-page .nith-company-actions,
    .nith-company-page .nith-company-hero-points {
        display: grid !important;
        justify-content: stretch !important;
    }

    .nith-company-page .nith-company-hero-device {
        min-height: 268px !important;
        overflow: hidden !important;
    }

    .nith-company-page .nith-device-laptop {
        max-width: 360px !important;
        width: min(360px, 100%) !important;
    }

    .nith-company-page .nith-device-screen {
        min-height: 238px !important;
    }

    .nith-company-page .nith-company-hero-cards {
        grid-template-columns: 1fr !important;
    }

    .nith-company-page .nith-company-hero-cards article {
        grid-template-columns: 50px 1fr auto !important;
        min-height: 104px !important;
    }

    .nith-company-page .nith-company-platform-card {
        min-height: 310px !important;
        padding: 24px !important;
    }

    .nith-company-page .nith-company-platform-card picture {
        max-width: 86% !important;
    }

    .nith-company-page .nith-company-platform-card img {
        max-height: 130px !important;
        opacity: .66 !important;
    }

    .nith-company-page .nith-company-platform-card .nith-company-mini-panel {
        bottom: 22px !important;
        left: 22px !important;
        right: 22px !important;
        max-width: none !important;
    }

    .nith-company-page .nith-company-avatar {
        animation-duration: 5.8s !important;
        min-height: 330px !important;
    }

    .nith-company-page .nith-company-avatar .nith-company-robot-image {
        max-height: 310px !important;
        max-width: 88% !important;
    }

    .nith-company-page .nith-company-faq summary {
        font-size: 1.08rem !important;
        min-height: 76px !important;
        padding: 20px !important;
        text-align: left !important;
    }

    .nith-company-page .nith-company-faq p,
    .nith-company-page .nith-company-faq details[open] p {
        padding-inline: 20px !important;
    }
}

/* NITH public page final override - active */
body.nith-company-page .notification-bell-shell,
body.nith-company-page .notification-modal {
    display: none !important;
}

body.nith-company-page {
    overflow-x: hidden !important;
}

.download-landing.nith-home .nith-home-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: sticky !important;
    top: 10px !important;
    z-index: 140 !important;
}

.download-landing.nith-home .nith-home-tabs {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.download-landing.nith-home .nith-home-nav > .nith-home-actions:not(.nith-home-actions-mobile) {
    position: static !important;
    right: auto !important;
    top: auto !important;
}

.download-landing.nith-home .nith-plan-box a:hover,
.download-landing.nith-home .nith-plan-box a:focus-visible {
    box-shadow: 0 24px 46px rgba(37, 99, 235, .38), 0 0 30px rgba(34, 211, 238, .28) !important;
    filter: saturate(1.12) brightness(1.08) !important;
    transform: translateY(-6px) scale(1.025) !important;
}

body.nith-company-page .nith-company-shell {
    margin-inline: auto !important;
    max-width: 1220px !important;
    overflow-x: clip !important;
    width: min(100% - 40px, 1220px) !important;
}

body.nith-company-page .nith-company-nav,
body.nith-company-page .nith-company-hero-showcase {
    margin-inline: auto !important;
    max-width: 1120px !important;
    width: min(100%, 1120px) !important;
}

body.nith-company-page .nith-company-nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    gap: 22px !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto !important;
    margin-top: 0 !important;
    max-width: min(1180px, calc(100vw - 40px)) !important;
    padding: 0 !important;
    position: sticky !important;
    top: 10px !important;
    z-index: 140 !important;
}

body.nith-company-page .nith-company-logo {
    display: flex !important;
    justify-content: center !important;
    margin: 28px auto 22px !important;
    pointer-events: none !important;
    width: 100% !important;
}

body.nith-company-page .nith-company-logo img {
    height: auto !important;
    max-height: 132px !important;
    width: min(390px, 78vw) !important;
}

body.nith-company-page .nith-company-nav nav {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    align-items: center !important;
    align-self: center !important;
    background: rgba(2, 12, 28, .62) !important;
    border: 1px solid rgba(68, 192, 255, .18) !important;
    border-radius: 999px !important;
    box-shadow: 0 16px 34px rgba(0, 0, 0, .22) !important;
    display: flex !important;
    gap: 6px !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    padding: 8px !important;
    position: static !important;
}

body.nith-company-page .nith-company-nav nav a {
    border-radius: 999px !important;
    color: #f8fafc !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    min-height: 42px !important;
    padding: 0 18px !important;
}

body.nith-company-page .nith-company-nav nav a::before,
body.nith-company-page .nith-company-nav nav a::after {
    content: none !important;
    display: none !important;
}

body.nith-company-page .nith-company-nav nav a:hover,
body.nith-company-page .nith-company-nav nav a[href="#inicio"] {
    background: rgba(14, 165, 233, .18) !important;
    color: #fff !important;
}

body.nith-company-page .nith-company-quote-action {
    align-self: center !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    gap: 10px !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    min-height: 50px !important;
    padding: 0 28px !important;
}

body.nith-company-page .nith-company-hero-showcase {
    background:
        radial-gradient(circle at 50% 10%, rgba(11, 53, 102, .24), transparent 38%),
        rgba(2, 8, 20, .18) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    margin-top: clamp(18px, 3vw, 34px) !important;
    max-width: min(980px, calc(100vw - 40px)) !important;
    min-height: clamp(430px, 56vh, 610px) !important;
    padding-inline: clamp(22px, 5vw, 74px) !important;
    place-items: center !important;
    text-align: center !important;
}

body.nith-company-page .nith-company-hero-showcase .nith-company-copy,
body.nith-company-page .nith-company-copy,
body.nith-company-page .nith-company-copy h1,
body.nith-company-page .nith-company-copy p {
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 820px !important;
    text-align: center !important;
}

body.nith-company-page .nith-company-copy h1 {
    font-size: clamp(3.3rem, 6.2vw, 5.9rem) !important;
}

body.nith-company-page .nith-company-actions,
body.nith-company-page .nith-company-hero-points {
    justify-content: center !important;
}

body.nith-company-page .nith-company-hero-device {
    display: none !important;
}

.download-landing.nith-home .nith-home-brand-center {
    margin-top: 34px !important;
    width: min(390px, 78vw) !important;
}

.download-landing.nith-home .nith-home-brand-center img {
    max-height: 142px !important;
    width: min(390px, 78vw) !important;
}

body.nith-company-page .nith-company-hero-cards {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}

body.nith-company-page .nith-company-faq summary {
    padding-right: 72px !important;
    position: relative !important;
}

body.nith-company-page .nith-company-faq summary::before {
    content: none !important;
    display: none !important;
}

body.nith-company-page .nith-company-faq summary::after {
    align-items: center !important;
    background: rgba(34, 211, 238, .12) !important;
    border: 1px solid rgba(34, 211, 238, .28) !important;
    border-radius: 12px !important;
    color: #28e0ff !important;
    content: "+" !important;
    display: inline-flex !important;
    height: 34px !important;
    justify-content: center !important;
    left: auto !important;
    position: absolute !important;
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 34px !important;
}

body.nith-company-page .nith-company-faq details[open] summary::after {
    content: "-" !important;
}

body.nith-company-page .nith-company-faq p {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    transform: translateY(-5px) !important;
    transition: max-height .22s ease, opacity .18s ease, padding .22s ease, transform .22s ease !important;
}

body.nith-company-page .nith-company-faq details[open] p {
    max-height: 260px !important;
    opacity: 1 !important;
    transform: none !important;
}

body.nith-company-page .nith-company-platform-card {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 390px !important;
    overflow: hidden !important;
    position: relative !important;
}

body.nith-company-page .nith-company-platform-card picture {
    align-items: center !important;
    display: flex !important;
    justify-content: center !important;
    max-height: 160px !important;
    max-width: 520px !important;
    position: static !important;
    transform: translateY(-36px) !important;
    width: min(78%, 520px) !important;
}

body.nith-company-page .nith-company-platform-card img {
    display: block !important;
    height: 160px !important;
    max-height: 160px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    opacity: .48 !important;
    transform: none !important;
    width: 100% !important;
}

body.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
    bottom: 32px !important;
    left: 32px !important;
    max-width: 360px !important;
    position: absolute !important;
    right: 32px !important;
}

body.nith-company-page .nith-company-avatar {
    --robot-x: 0px;
    --robot-y: 0px;
    animation: nithRobotFloatSoftFinal 4.4s ease-in-out infinite !important;
    transform: translate3d(var(--robot-x), var(--robot-y), 0) !important;
}

body.nith-company-page .nith-company-avatar::before {
    animation: nithRobotRingSpinFinal 12s linear infinite !important;
    border: 2px dashed rgba(37, 212, 206, .34) !important;
    border-radius: 50% !important;
    content: "" !important;
    height: min(92%, 460px) !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) rotate(0deg) !important;
    width: min(92%, 460px) !important;
    z-index: 0 !important;
}

body.nith-company-page .nith-company-avatar::after {
    animation: nithRobotGlowSoftFinal 3.2s ease-in-out infinite !important;
    background: radial-gradient(circle, rgba(34, 211, 238, .22), transparent 64%) !important;
    border-radius: 50% !important;
    content: "" !important;
    height: min(100%, 520px) !important;
    left: 50% !important;
    position: absolute !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(100%, 520px) !important;
    z-index: 0 !important;
}

body.nith-company-page .nith-company-avatar .nith-company-robot-image {
    animation: nithRobotImageFloatFinal 4.4s ease-in-out infinite !important;
    position: relative !important;
    z-index: 2 !important;
}

body.nith-company-page .nith-company-avatar:hover .nith-company-robot-image {
    transform: translateY(-10px) scale(1.025) rotate(-1deg) !important;
}

@keyframes nithRobotFloatSoftFinal {
    0%, 100% { margin-top: 0; }
    50% { margin-top: -10px; }
}

@keyframes nithRobotImageFloatFinal {
    0%, 100% { filter: drop-shadow(0 24px 34px rgba(0, 0, 0, .32)) drop-shadow(0 0 20px rgba(34, 211, 238, .18)); }
    50% { filter: drop-shadow(0 34px 44px rgba(0, 0, 0, .36)) drop-shadow(0 0 34px rgba(34, 211, 238, .28)); }
}

@keyframes nithRobotRingSpinFinal {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes nithRobotGlowSoftFinal {
    0%, 100% { opacity: .45; scale: .98; }
    50% { opacity: .75; scale: 1.03; }
}

@media (max-width: 900px) {
    body.nith-company-page .nith-company-shell {
        max-width: 430px !important;
        overflow-x: clip !important;
        width: min(100% - 18px, 430px) !important;
    }

    body.nith-company-page .nith-company-nav {
        grid-template-columns: 1fr auto !important;
        overflow: visible !important;
        position: sticky !important;
        top: 8px !important;
        z-index: 90 !important;
    }

    body.nith-company-page .nith-company-logo {
        margin-top: 18px !important;
        margin-bottom: 16px !important;
    }

    body.nith-company-page .nith-company-logo img {
        max-height: 92px !important;
        width: min(280px, 74vw) !important;
    }

    body.nith-company-page .nith-company-quote-action {
        display: inline-flex !important;
        grid-column: 1 !important;
        justify-self: start !important;
        min-height: 44px !important;
        padding: 0 18px !important;
    }

    body.nith-company-page .nith-company-nav nav {
        display: grid !important;
        opacity: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        right: 0 !important;
        top: calc(100% + 10px) !important;
        transform: translateY(-8px) scale(.98) !important;
        visibility: hidden !important;
        width: min(180px, calc(100vw - 36px)) !important;
        z-index: 120 !important;
    }

    body.nith-company-page.nith-company-menu-open .nith-company-nav nav {
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: none !important;
        visibility: visible !important;
    }

    body.nith-company-page:not(.nith-company-menu-open) .nith-company-nav nav {
        opacity: 0 !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    body.nith-company-page .nith-company-menu-backdrop {
        display: none !important;
    }

    body.nith-company-page .nith-company-hero-showcase {
        grid-template-columns: 1fr !important;
        padding: 28px 16px 18px !important;
        text-align: center !important;
        width: 100% !important;
    }

    body.nith-company-page .nith-company-hero-showcase h1 {
        font-size: clamp(2.35rem, 11vw, 3.15rem) !important;
    }

    body.nith-company-page .nith-company-hero-cards article {
        grid-template-columns: 52px 1fr auto !important;
        text-align: left !important;
    }

    body.nith-company-page .nith-company-platform-card {
        min-height: 310px !important;
    }

    body.nith-company-page .nith-company-platform-card picture {
        transform: translateY(-44px) !important;
        width: 88% !important;
    }

    body.nith-company-page .nith-company-platform-card img {
        height: 110px !important;
        max-height: 110px !important;
    }

    body.nith-company-page .nith-company-platform-card .nith-company-mini-panel {
        bottom: 22px !important;
        left: 18px !important;
        max-width: none !important;
        right: 18px !important;
    }

    body.nith-company-page .nith-company-avatar {
        min-height: 330px !important;
    }

    body.nith-company-page .nith-company-avatar::before {
        height: 300px !important;
        width: 300px !important;
    }
}

/* Cardapio online - override final: lista por clique e sacola inferior */
.public-menu .public-cart-toggle {
    align-items: center;
    background: #ff433d;
    border: 0;
    border-radius: 16px;
    bottom: 22px;
    box-shadow: 0 18px 42px rgba(15, 23, 42, .28);
    color: #fff;
    display: flex;
    gap: 12px;
    left: 50%;
    min-height: 70px;
    min-width: min(380px, calc(100vw - 36px));
    opacity: 0;
    padding: 12px 16px;
    pointer-events: none;
    position: fixed;
    right: auto;
    top: auto;
    transform: translate(-50%, 18px);
    transition: opacity .18s ease, transform .18s ease;
    z-index: 1185;
}

.public-menu .public-cart-toggle.has-items {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.public-menu .public-cart-toggle .public-cart-icon {
    border: 2px solid currentColor;
    border-radius: 4px;
    height: 24px;
    position: relative;
    width: 22px;
}

.public-menu .public-cart-toggle .public-cart-icon::before {
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 999px 999px 0 0;
    content: "";
    height: 8px;
    left: 4px;
    position: absolute;
    top: -9px;
    width: 10px;
}

.public-cart-toggle-copy {
    display: grid;
    gap: 2px;
    line-height: 1.1;
    text-align: left;
}

.public-cart-toggle-copy small,
.public-cart-toggle-copy strong {
    color: inherit;
}

.public-cart-toggle-copy b {
    background: transparent;
    border-radius: 0;
    color: inherit;
    font-size: inherit;
    min-width: 0;
    padding: 0;
}

.public-cart-toggle-copy small {
    font-size: 13px;
    font-weight: 800;
}

.public-cart-toggle-copy strong {
    font-size: 21px;
    font-weight: 950;
}

.public-cart-toggle-arrow {
    align-items: center;
    background: rgba(255, 255, 255, .16);
    border-radius: 14px;
    display: inline-flex;
    height: 46px;
    justify-content: center;
    margin-left: auto;
    width: 46px;
}

.public-cart-toggle-arrow::before {
    border-right: 3px solid currentColor;
    border-top: 3px solid currentColor;
    content: "";
    height: 10px;
    transform: rotate(45deg);
    width: 10px;
}

.public-menu .public-products {
    align-items: start;
    display: grid;
    gap: 22px 34px;
    grid-template-columns: repeat(3, minmax(250px, 1fr));
}

.public-menu .public-product-toolbar,
.public-menu .public-highlights {
    grid-column: 1 / -1;
}

.public-menu .public-product-card {
    align-items: start;
    background: transparent;
    border: 0;
    border-radius: 8px;
    box-shadow: none;
    cursor: pointer;
    display: grid;
    gap: 12px;
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 120px;
    padding: 0;
    transition: background .16s ease, transform .16s ease;
}

.public-menu .public-product-card:hover,
.public-menu .public-product-card:focus-within {
    background: rgba(148, 163, 184, .06);
    transform: translateY(-1px);
}

.public-menu .public-product-media {
    border-radius: 8px;
    height: 96px;
    width: 96px;
}

.public-menu .public-product-media img {
    border-radius: inherit;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.public-menu .public-product-card h2 {
    font-size: 18px;
    line-height: 1.25;
    margin: 0 0 7px;
}

.public-menu .public-product-card p {
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.45;
    margin: 0 0 10px;
    max-width: 44ch;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.public-menu .public-product-card strong {
    display: block;
    font-size: 15px;
}

.public-menu .public-product-card .public-add-cart {
    display: none;
}

.public-product-detail-modal {
    z-index: 1210;
}

.public-product-detail-box {
    overflow: hidden;
    padding: 0;
}

.public-product-detail-box .modal-close-button {
    right: 14px;
    top: 14px;
    z-index: 2;
}

.public-product-detail-media {
    border: 0;
    border-radius: 0;
}

.public-product-detail-info {
    padding: 22px;
}

.public-product-detail-info .button-primary {
    min-height: 54px;
    width: 100%;
}

.public-menu-theme-light .public-product-detail-box {
    background: #fff;
    color: #111827;
}

.public-menu-theme-light .public-product-detail-info h2,
.public-menu-theme-light .public-product-detail-info p {
    color: #111827;
}

.public-menu-theme-light .public-product-detail-info strong {
    color: #dc2626;
}

.public-menu-theme-light .public-product-detail-info .button-primary,
.public-menu-theme-light .public-cart-toggle {
    background: #ff433d;
    color: #fff;
}

@media (max-width: 980px) {
    .public-menu .public-products {
        grid-template-columns: repeat(2, minmax(240px, 1fr));
    }
}

@media (max-width: 680px) {
    .public-menu {
        padding-bottom: 104px;
    }

    .public-menu .public-products {
        gap: 18px;
        grid-template-columns: 1fr;
    }

    .public-menu .public-product-card {
        grid-template-columns: 88px minmax(0, 1fr);
        min-height: 96px;
    }

    .public-menu .public-product-media {
        height: 88px;
        width: 88px;
    }

    .public-menu .public-cart-toggle {
        bottom: 18px;
        min-height: 70px;
        min-width: calc(100vw - 28px);
    }

    .public-product-detail-box {
        border-radius: 18px;
        grid-template-columns: 1fr;
        max-height: calc(100dvh - 34px);
        width: min(100%, 540px);
    }

    .public-product-detail-media {
        aspect-ratio: 1.12;
        max-height: 52dvh;
    }
}
