[data-gw^="OSAdmin."] > .admin-body > .body { background: var(--body-bg); overflow: hidden; }

[data-gw="OSAdmin.Interfaces"] > .admin-body > .body { display: grid; grid-template-columns: 260px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); height: 100%; overflow: hidden; }

.osadmin-iface-list-panel { display: flex; flex-direction: column; gap: 12px; padding: 20px 16px 20px 20px; overflow: hidden; border-right: 1px solid var(--border-color-light); }

.osadmin-iface-list-panel .osadmin-panel-title { margin: 0; font-size: 1rem; font-weight: 600; }

.osadmin-iface-list { flex: 1; overflow-y: auto; border: 1px solid var(--border-color); border-radius: var(--border-radius); background: var(--panel-bg); }

.osadmin-iface-item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid var(--border-color-light); transition: background 0.1s; }

.osadmin-iface-item:last-child { border-bottom: none; }

.osadmin-iface-item:hover { background: var(--hover-bg); }

.osadmin-iface-item.selected { background: var(--primary-ultralight, #eef2ff); }

.osadmin-iface-item .iface-row-top { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }

.osadmin-iface-item .iface-name { font-weight: 600; font-size: 0.9em; flex: 1; }

.osadmin-iface-item .iface-kind-badge { font-size: 0.68em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; padding: 1px 6px; border-radius: 10px; }

.osadmin-iface-item .iface-kind-badge.kind-ethernet { background: var(--tag-bg, #dbeafe); color: var(--tag-color, #1d4ed8); }

.osadmin-iface-item .iface-kind-badge.kind-custbcvpn { background: #dcfce7; color: #15803d; }

.osadmin-iface-item .iface-addrs { font-size: 0.78em; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.osadmin-iface-empty { display: flex; align-items: center; gap: 8px; padding: 16px; color: var(--text-muted); font-size: 0.85em; }

.osadmin-iface-empty > svg, .osadmin-iface-empty > .icon { flex: none; opacity: 0.5; }

.osadmin-iface-detail { overflow-y: auto; display: flex; background: white; flex-direction: column; }

.osadmin-iface-detail > .card-switcher { flex: 1; }

.osadmin-iface-editor { display: flex; flex-direction: column; min-height: 100%; }

.osadmin-iface-editor > .osadmin-form-body { flex: 1; padding: 24px 28px; overflow-y: auto; }

.osadmin-iface-editor > .osadmin-form-footer { padding: 14px 28px; border-top: 1px solid var(--border-color-light); background: var(--panel-bg); }

[data-gw="OSAdmin.Network"] > .admin-body > .body, [data-gw="OSAdmin.PBXNet"] > .admin-body > .body, [data-gw="OSAdmin.TLS"] > .admin-body > .body, [data-gw="OSAdmin.PNProxy"] > .admin-body > .body { overflow-y: auto; }

.osadmin-form-screen { background: white; border-radius: var(--border-radius); max-width: 740px; margin: 0 auto; padding: 28px 32px 48px; }

.osadmin-screen-title { margin: 0 0 8px; font-size: 1.25rem; }

.osadmin-form-body { display: flex; flex-direction: column; gap: 6px; }

.osadmin-form-footer { display: flex; align-items: center; gap: 14px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--border-color-light); }

.osadmin-save-status { font-size: 0.88em; font-weight: 500; }

.osadmin-save-status.success { color: var(--color-success, #16a34a); }

.osadmin-save-status.error { color: var(--color-danger, #dc2626); }

.osadmin-section-divider { margin-top: 28px; margin-bottom: 8px; padding-bottom: 8px; border-bottom: 2px solid var(--border-color); }

.osadmin-section-divider:first-child { margin-top: 0; }

.osadmin-section-title { margin: 0 0 4px; font-size: 0.85em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-secondary); }

.osadmin-section-subtitle { font-size: 0.83em; color: var(--text-muted); line-height: 1.4; }

.osadmin-field-hint { font-size: 0.83em; color: var(--text-muted); margin-bottom: 10px; line-height: 1.4; }

.osadmin-string-list { display: flex; flex-direction: column; gap: 5px; }

.osadmin-string-list > .rows { display: flex; flex-direction: column; gap: 4px; }

.osadmin-string-list > button { align-self: flex-start; margin-top: 2px; }

.osadmin-string-list-row { display: flex; align-items: flex-start; gap: 6px; }

.osadmin-string-list-row > .form-field { flex: 1; }

.osadmin-string-list-row > .form-field > label { display: none; }

.osadmin-string-list-row > .form-field > .hint { display: none; }

.osadmin-string-list-row > button { margin-top: 6px; flex: none; }

.osadmin-routes-editor { display: flex; flex-direction: column; gap: 8px; }

.osadmin-routes-editor > button { align-self: flex-start; }

.osadmin-routes-rows { display: flex; flex-direction: column; gap: 6px; }

.osadmin-route-row { display: flex; align-items: flex-start; gap: 8px; border: 1px solid var(--border-color-light); border-radius: var(--border-radius); padding: 10px 12px; }

.osadmin-route-row-fields { flex: 1; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }

.osadmin-route-row-fields > .form-field { margin-bottom: 0; }

.osadmin-route-row-fields > .form-field > label { font-size: 0.78em; color: var(--text-muted); margin-bottom: 2px; }

.osadmin-route-row-actions { flex: none; padding-top: 12px; }

.osadmin-fw-editor { display: flex; flex-direction: column; gap: 8px; }

.osadmin-fw-editor > button { align-self: flex-start; }

.osadmin-fw-header, .osadmin-fw-row { display: grid; grid-template-columns: 28px 90px 70px minmax(0, 1fr) 110px 34px; align-items: center; gap: 6px; }

.osadmin-fw-header { padding: 0 2px 4px; border-bottom: 1px solid var(--border-color); }

.osadmin-fw-header > * { font-size: 0.75em; font-weight: 600; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); }

.osadmin-fw-rows { display: flex; flex-direction: column; gap: 4px; }

.osadmin-fw-row { background: var(--panel-bg); border: 1px solid var(--border-color-light); border-radius: var(--border-radius); padding: 5px 4px; }

.osadmin-fw-row > select, .osadmin-fw-row > input { min-width: 0; width: 100%; }

.osadmin-fw-row.is-dragging { position: fixed; z-index: 1000; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); opacity: 0.96; pointer-events: none; }

.osadmin-fw-placeholder { border-radius: var(--border-radius); background: var(--primary-ultralight, #eef2ff); border: 2px dashed var(--primary-color, #4f46e5); opacity: 0.6; }

.osadmin-drag-handle { cursor: grab; display: flex; align-items: center; justify-content: center; color: var(--text-muted); padding: 2px; }

.osadmin-drag-handle:active { cursor: grabbing; }

.osadmin-drag-handle > svg, .osadmin-drag-handle > .icon { width: 16px; height: 16px; }

.osadmin-pem-field { font-family: monospace; font-size: 0.82em; resize: vertical; min-height: 90px; line-height: 1.5; }

/*# sourceMappingURL=style.css.map */