.nvcts[hidden], .nvcts-open[hidden], .nvcts__options[hidden], #nvcts-save[hidden] { display: none !important; }
.nvcts {
    position: fixed;
    z-index: 2147483000;
    box-sizing: border-box;
    color: #202124;
    font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.nvcts *, .nvcts *::before, .nvcts *::after { box-sizing: border-box; }
.nvcts--bottom {
    left: 18px;
    right: 18px;
    bottom: 18px;
    max-width: 1120px;
    margin: 0 auto;
}
.nvcts--center {
    left: 50%;
    top: 50%;
    width: min(92vw, 640px);
    transform: translate(-50%, -50%);
}
.nvcts__inner {
    background: #fff;
    border: 1px solid rgba(18, 33, 46, .08);
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(18, 33, 46, .18);
    padding: 20px;
}
.nvcts__title { margin: 0 0 7px; font-size: 18px; line-height: 1.3; color: #202124; }
.nvcts__text { margin: 0; color: #5f6368; }
.nvcts__policy { white-space: nowrap; margin-left: 4px; }
.nvcts__options { margin-top: 14px; padding-top: 12px; border-top: 1px solid #eef1f3; }
.nvcts__option { display: flex; align-items: center; gap: 8px; margin: 8px 0; cursor: pointer; }
.nvcts__option input:disabled { cursor: not-allowed; }
.nvcts__actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.nvcts__btn {
    appearance: none;
    border: 1px solid #d9dee3;
    background: #fff;
    color: #202124;
    border-radius: 10px;
    padding: 10px 14px;
    min-height: 40px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.nvcts__btn:hover { filter: brightness(.98); }
.nvcts__btn:focus-visible, .nvcts-open:focus-visible { outline: 3px solid rgba(0, 104, 55, .22); outline-offset: 2px; }
.nvcts__btn--primary { background: var(--nvcts-color, #006837); border-color: var(--nvcts-color, #006837); color: #fff; }
.nvcts-open {
    position: fixed;
    left: 14px;
    bottom: 14px;
    z-index: 2147482999;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(18, 33, 46, .08);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(18, 33, 46, .18);
    cursor: pointer;
    font-size: 18px;
}
@media (max-width: 680px) {
    .nvcts--bottom { left: 10px; right: 10px; bottom: 10px; }
    .nvcts__inner { padding: 16px; border-radius: 14px; }
    .nvcts__actions { display: grid; grid-template-columns: 1fr 1fr; }
    .nvcts__btn--primary { grid-column: 1 / -1; }
}
