.ctrl-wrapper.autosave-enabled {
    position: relative;
}
.ctrl-wrapper .autosave-indicator {
    position: absolute;
    z-index: var(--net-z-notification, 2000);
    top: -0.75rem;
    right: 0;
    font-size: 0.55rem;
    font-weight: 600;
    opacity: 0;
    transition: opacity 0.8s ease, transform 0.2s ease;
    color: #2f3545;
    pointer-events: none;
    background: rgba(240, 243, 255, 0.92);
    border-radius: 999px;
    padding: 0.2rem 0.5rem;
    box-shadow: 0 1px 3px rgba(31, 41, 55, 0.15);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    transform: translateY(-6px);
}
.ctrl-wrapper .autosave-indicator.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.ctrl-wrapper .autosave-indicator.is-saving {
    color: #0d47a1;
    background: rgba(227, 242, 253, 0.95);
    box-shadow: 0 1px 3px rgba(13, 71, 161, 0.2);
}
.ctrl-wrapper .autosave-indicator.is-success {
    color: #2e7d32;
    background: rgba(200, 240, 200, 0.97);
    box-shadow: 0 1px 4px rgba(27, 94, 32, 0.25);
}
.ctrl-wrapper .autosave-indicator.is-error {
    color: #b71c1c;
    background: rgba(255, 235, 238, 0.95);
    box-shadow: 0 1px 3px rgba(183, 28, 28, 0.25);
}
.ctrl-wrapper .autosave-indicator::before {
    content: attr(data-indicator-prefix);
    font-size: 0.55rem;
    opacity: 0.7;
}
