.container { padding: 16px; overflow-y: auto; flex: 1; } .toolbar { display: flex; justify-content: flex-end; margin-bottom: 12px; } /* Create modal */ .createModal { display: flex; flex-direction: column; gap: 14px; } .createField { display: flex; flex-direction: column; gap: 4px; } .createLabel { font-size: 12px; font-weight: 500; color: var(--text-muted); } .createLabelHint { font-weight: 400; font-style: italic; margin-left: 6px; } .fileRow { display: flex; align-items: center; gap: 10px; } .fileName { font-size: 12px; color: var(--text-primary); font-family: var(--font-mono); } .deployToggle { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--text-primary); } .stepIndicator { font-size: 12px; color: var(--accent, #6c7aff); font-style: italic; } .createActions { display: flex; gap: 8px; justify-content: flex-end; padding-top: 8px; border-top: 1px solid var(--border-subtle); } .nativeSelect { padding: 6px 8px; border: 1px solid var(--border-subtle); border-radius: 4px; background: var(--bg-surface); color: var(--text-primary); font-size: 12px; font-family: var(--font-body); } .cellName { font-size: 13px; font-weight: 500; color: var(--text-primary); } .cellMeta { font-size: 12px; color: var(--text-muted); } /* Detail header */ .detailHeader { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; } .detailTitle { font-size: 18px; font-weight: 600; color: var(--text-primary); margin: 0; } .detailMeta { font-size: 13px; color: var(--text-muted); margin-top: 4px; display: flex; align-items: center; gap: 6px; } .detailActions { display: flex; gap: 8px; } /* Sub tabs */ .subTabs { display: flex; border-bottom: 1px solid var(--border-subtle); margin-bottom: 16px; } .subTab { padding: 8px 16px; font-size: 13px; font-weight: 500; color: var(--text-muted); cursor: pointer; border: none; border-bottom: 2px solid transparent; background: none; font-family: var(--font-body); } .subTab:hover { color: var(--text-primary); } .subTabActive { color: var(--accent, #6c7aff); border-bottom-color: var(--accent, #6c7aff); } /* Table */ .table { width: 100%; border-collapse: collapse; margin-bottom: 16px; } .table th { text-align: left; padding: 8px 12px; font-size: 11px; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 1px solid var(--border-subtle); } .table td { padding: 10px 12px; border-bottom: 1px solid var(--border-subtle); font-size: 13px; vertical-align: middle; } .table tr:hover td { background: var(--bg-hover); } .mutedRow td { opacity: 0.45; } .mutedMono { font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); opacity: 0.5; } .envHint { font-size: 11px; color: var(--text-muted); font-style: italic; } /* Version rows */ .row { display: flex; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--border-subtle); font-size: 12px; font-family: var(--font-body); } .rowText { flex: 1; color: var(--text-primary); } .emptyNote { font-size: 12px; color: var(--text-muted); font-style: italic; margin: 4px 0 12px; } /* Edit mode banner */ .editBanner { display: flex; align-items: center; justify-content: space-between; padding: 10px 16px; background: var(--bg-raised); border: 1px solid var(--border-subtle); border-radius: 6px; margin-bottom: 16px; } .editBannerActive { border-color: var(--warning); background: rgba(251, 191, 36, 0.06); } .editBannerText { font-size: 12px; color: var(--text-muted); } .editBannerTextWarn { font-size: 12px; color: var(--warning); } .editBannerActions { display: flex; gap: 8px; } /* Config grid */ .configGrid { display: grid; grid-template-columns: 160px 1fr; gap: 8px 16px; align-items: center; margin-bottom: 16px; } .configLabel { font-size: 12px; color: var(--text-muted); font-weight: 500; } .configInline { display: flex; align-items: center; gap: 6px; } .configHint { font-size: 11px; color: var(--text-muted); font-style: italic; margin-top: 2px; } .toggleEnabled { font-size: 12px; color: var(--success); } .toggleDisabled { font-size: 12px; color: var(--text-muted); } /* Port pills */ .portPills { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .portPill { display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 12px; font-size: 12px; font-family: var(--font-mono); background: var(--bg-raised); color: var(--text-primary); border: 1px solid var(--border-subtle); } .portPillDelete { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 13px; line-height: 1; padding: 0; } .portPillDelete:hover { color: var(--error); } .portPillDelete:disabled { opacity: 0.3; cursor: default; } .portAddInput { width: 70px; padding: 3px 6px; border: 1px dashed var(--border-subtle); border-radius: 12px; background: transparent; color: var(--text-primary); font-size: 12px; font-family: var(--font-mono); text-align: center; } .portAddInput::placeholder { color: var(--text-muted); } .portAddInput:disabled { opacity: 0.3; cursor: default; } /* Env var editor */ .envVarRow { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; } .envVarKey { width: 180px; } .envVarValue { flex: 1; } .envVarDelete { background: none; border: none; color: var(--text-muted); cursor: pointer; font-size: 16px; padding: 4px; } .envVarDelete:hover { color: var(--error); } .envVarDelete:disabled { opacity: 0.3; cursor: default; }