/* Devices Module -- Hotel Setup > Devices (edge fleet management + channel line-up) */
/* SPACING CONTRACT: No external margins. Parent controls spacing -- the group panels
   stack in a gap-only flex column. */

/* Sub-tab host (nav + active sub-view). Mirrors .connections-module. */
/* The module wrapper this file used to style is retired: the sub-tab bar and the panel
   are siblings on the page now, so the stack owns the gap and the platform one-panel
   rule (Panel.css) gives the panel the tab height. */

.devices-sub-tabs {
    display: flex;
}

.devices-groups {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

/* Channel modal form (TLP-821): full-width field stack, short fields two-up. */
.devices-channel-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.devices-channel-form-row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-3);
}

/* Paste-from-Excel import area: monospace so pasted columns stay legible. */
.devices-import-textarea {
    width: 100%;
    padding: var(--space-2) var(--space-3);
    font-family: var(--font-mono, monospace);
    font-size: var(--text-xs);
    color: var(--text-primary);
    background: var(--bg-layer-4);
    border: 1px solid var(--border-default);
    border-radius: var(--border-radius-md);
    resize: vertical;
}

/* Source URLs are long and all look alike -- keep rows one line tall. */
.devices-channel-url {
    display: inline-block;
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}
