.body { display: flex; flex-direction: column; gap: 1.25rem; padding-top: 20px; } .permissionWarning { padding: 10px 14px; background-color: color-mix(in srgb, var(--status-warning, #faa61a) 15%, transparent); color: var(--status-warning, #faa61a); border-radius: 8px; font-size: 0.8125rem; font-weight: 500; } .channelHeader { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background-color: var(--background-tertiary, rgba(255, 255, 255, 0.03)); border-radius: 10px; } .channelHeaderIcon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background-color: var(--background-secondary, rgba(255, 255, 255, 0.05)); color: var(--text-secondary); flex-shrink: 0; } .channelHeaderText { display: flex; flex-direction: column; min-width: 0; flex: 1; } .channelHeaderName { font-size: 0.9375rem; font-weight: 600; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .channelHeaderSubtitle { font-size: 0.75rem; color: var(--text-tertiary); margin-top: 2px; } /* ── Form fields ─────────────────────────────────────────────────────── */ .field { display: flex; flex-direction: column; gap: 0.375rem; margin: 0; padding: 0; border: 0; } .field:disabled { opacity: 0.6; } .label { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; color: var(--text-tertiary); margin: 0; } .input, .textarea { width: 100%; padding: 10px 12px; background-color: var(--input-background, var(--background-tertiary)); border: 1px solid var(--background-modifier-accent, rgba(255, 255, 255, 0.08)); border-radius: 8px; color: var(--text-primary); font: inherit; font-size: 0.9375rem; outline: none; box-sizing: border-box; transition: border-color 150ms ease; } .textarea { resize: vertical; min-height: 88px; line-height: 1.4; } .input::placeholder, .textarea::placeholder { color: var(--text-tertiary); } .input:focus, .textarea:focus { border-color: var(--background-modifier-accent-focus, var(--brand-primary, #5865f2)); } .fieldFooter { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; } .fieldHint { font-size: 0.75rem; color: var(--text-tertiary); } .counter { font-size: 0.75rem; font-variant-numeric: tabular-nums; color: var(--text-tertiary); } .counterFull { font-size: 0.75rem; font-variant-numeric: tabular-nums; color: var(--status-danger, #da373c); } .statusMessage { font-size: 0.8125rem; margin: 0; line-height: 1.4; } .statusSuccess { color: var(--status-positive, #23a55a); } .statusError { color: var(--status-danger, #da373c); } /* ── Danger zone ─────────────────────────────────────────────────────── */ .dangerZone { display: flex; flex-direction: column; gap: 10px; padding: 14px; margin-top: 8px; border-radius: 10px; border: 1px solid color-mix(in srgb, var(--status-danger, #da373c) 35%, transparent); background-color: color-mix(in srgb, var(--status-danger, #da373c) 8%, transparent); } .dangerHeader { font-size: 0.875rem; font-weight: 700; color: var(--status-danger, #da373c); } .dangerDescription { font-size: 0.8125rem; line-height: 1.4; color: var(--text-secondary); margin: 0; } .dangerConfirmRow { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } .dangerConfirmText { font-size: 0.8125rem; color: var(--text-primary); font-weight: 500; flex: 1; min-width: 120px; }