.operations-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
}

.operation-banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 5px 18px;
    align-items: center;
    max-width: 760px;
    margin-top: 24px;
    padding: 16px 18px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #151512;
}

.operation-banner strong {
    color: var(--gold2);
}

.operation-banner span {
    color: var(--muted);
}

.operation-banner.open {
    border-color: #487859;
    box-shadow: inset 3px 0 #72b987;
}

.operation-banner.closed {
    border-color: #8b514c;
    box-shadow: inset 3px 0 #b85b55;
}

.terminal-status-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 14px 0;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #151512;
}

.terminal-status-bar.open {
    border-color: #487859;
}

.terminal-status-bar.closed,
.terminal-status-bar.warning {
    border-color: #9b544d;
}

.terminal-status-bar p {
    margin: 2px 0;
}

.terminal-status-bar small {
    display: block;
    max-width: 620px;
    color: var(--muted);
    line-height: 1.45;
}

.terminal-status-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 7px;
    border-radius: 50%;
    background: #b85b55;
}

.terminal-status-bar.open .terminal-status-dot {
    background: #72b987;
}

.terminal-connectivity {
    display: flex;
    gap: 8px;
    align-items: center;
    margin-top: 8px !important;
    color: #d5c9b7;
    font-size: .75rem;
}

.terminal-connectivity[data-online="1"] {
    color: #92cea5;
}

.terminal-connectivity[data-online="0"] {
    color: #ffaaa0;
}

.terminal-state-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    min-width: 190px;
}

.terminal-state-actions form {
    margin: 0;
}

.terminal-state-actions button {
    width: 100%;
}

.terminal-sound-control {
    min-height: 48px;
    padding: 9px 13px;
    border: 1px solid var(--line);
    border-radius: 3px;
    background: #191815;
    color: var(--gold2);
    font: inherit;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .1em;
    cursor: pointer;
}

.terminal-control-panel {
    display: grid;
    gap: 10px;
    margin: 12px 0;
}

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

.terminal-channel-card {
    display: grid;
    gap: 11px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #9b544d;
    border-radius: 4px;
    background: #151512;
}

.terminal-channel-card.open {
    border-color: #487859;
}

.terminal-channel-card header {
    display: flex;
    gap: 8px;
    align-items: center;
    min-width: 0;
}

.terminal-channel-card header div {
    display: grid;
    min-width: 0;
}

.terminal-channel-card header small {
    color: var(--muted);
    font-size: .66rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.terminal-channel-card header strong {
    font-size: 1.05rem;
}

.terminal-channel-card p {
    min-height: 2.7em;
    margin: 0;
    color: var(--muted);
    font-size: .74rem;
    line-height: 1.4;
}

.terminal-channel-card form,
.terminal-channel-card button {
    width: 100%;
}

.terminal-channel-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.terminal-channel-actions .button {
    min-width: 0;
    padding: .72rem .35rem;
    font-size: .68rem;
}

.terminal-channel-actions .is-current {
    opacity: 1;
    cursor: default;
}

.terminal-channel-actions .state-open.is-current {
    border-color: #72b987;
    background: #28553b;
    color: #fff;
}

.terminal-channel-actions .state-closed.is-current {
    border-color: #b56a62;
    background: #633934;
    color: #fff;
}

.terminal-channel-card.open .terminal-status-dot {
    background: #72b987;
}

.terminal-control-tools {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--line);
    background: #11110f;
}

.terminal-control-tools .terminal-connectivity {
    min-width: 0;
    margin: 0 !important;
}

.booking-closed-panel {
    display: grid;
    gap: 12px;
    max-width: 720px;
}

.booking-closed-panel h2,
.booking-closed-panel p {
    margin: 0;
}

.booking-closed-panel > div {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

@media (max-width: 650px) {
    .operation-banner {
        grid-template-columns: minmax(0, 1fr);
        gap: 3px;
    }

    .terminal-status-bar {
        grid-template-columns: minmax(0, 1fr);
        padding: 13px;
    }

    .terminal-state-actions {
        grid-template-columns: minmax(0, 1fr);
        min-width: 0;
    }

    .terminal-control-tools {
        grid-template-columns: minmax(0, 1fr);
    }

    .terminal-body .terminal-channel-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .terminal-body .terminal-channel-card {
        gap: 8px;
        padding: 10px;
    }

    .terminal-body .terminal-channel-card p {
        display: none;
    }

    .terminal-channel-card p {
        min-height: 0;
    }

    .terminal-control-tools .button,
    .terminal-control-tools button {
        width: 100%;
    }
}
