.planner-request-feedback {
    position: fixed;
    bottom: 1rem;
    left: 1rem;
    z-index: 11000;
    display: flex;
    align-items: center;
    gap: .75rem;
    max-width: min(28rem, calc(100vw - 2rem));
    padding: .875rem 1rem;
    border: 1px solid var(--tblr-border-color, #d9dee3);
    border-radius: .5rem;
    background: var(--tblr-bg-surface, #fff);
    color: var(--tblr-body-color, #182433);
    box-shadow: 0 .25rem 1rem rgb(0 0 0 / 15%);
    pointer-events: none;
}

.planner-request-feedback[hidden],
.planner-request-spinner[hidden],
.planner-request-dismiss[hidden] {
    display: none;
}

.planner-request-dismiss {
    border: 0;
    border-radius: .25rem;
    background: transparent;
    color: var(--tblr-link-color, #116466);
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
    pointer-events: auto;
}

.planner-request-dismiss:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.planner-request-spinner {
    width: 1.125rem;
    height: 1.125rem;
    flex: 0 0 auto;
    border: 2px solid var(--tblr-border-color, #d9dee3);
    border-top-color: var(--tblr-primary, #116466);
    border-radius: 50%;
    animation: planner-request-spin .8s linear infinite;
}

form[aria-busy="true"] [aria-disabled="true"] {
    opacity: .65;
    cursor: wait;
}

@keyframes planner-request-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .planner-request-spinner { animation: none; }
}

@media print {
    .planner-request-feedback { display: none; }
}
