/** * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later * * Astrolabe settings styles * Relies on Nextcloud's core .section class for layout */ /* Info tables */ .mcp-info-table { width: 100%; border-collapse: collapse; margin: calc(var(--default-grid-baseline) * 3) 0; } .mcp-info-table tr { border-bottom: 1px solid var(--color-border); } .mcp-info-table tr:last-child { border-bottom: none; } .mcp-info-table td { padding: calc(var(--default-grid-baseline) * 2) 0; vertical-align: top; } .mcp-info-table td:first-child { width: 200px; color: var(--color-text-maxcontrast); font-weight: 600; padding-inline-end: calc(var(--default-grid-baseline) * 4); } .mcp-info-table td:last-child { color: var(--color-main-text); } /* Status badges */ .badge { display: inline-flex; align-items: center; gap: calc(var(--default-grid-baseline) * 1.5); padding: calc(var(--default-grid-baseline) * 1.5) calc(var(--default-grid-baseline) * 3); border-radius: calc(var(--border-radius-element) * 1.5); font-size: 13px; font-weight: 600; } .badge-success { background: var(--color-success); color: var(--color-success-text); } .badge-warning { background: var(--color-warning); color: var(--color-warning-text); } .badge-neutral { background: var(--color-background-dark); color: var(--color-text-maxcontrast); } .badge-info { background: var(--color-primary-element); color: var(--color-primary-element-text); } /* Input groups */ .mcp-input-group { display: flex; gap: calc(var(--default-grid-baseline) * 2); align-items: stretch; margin-top: calc(var(--default-grid-baseline) * 2); } .mcp-input-group input[type='password'], .mcp-input-group input[type='text'] { flex: 1; font-family: monospace; } /* Revoke/warning sections */ .mcp-revoke-section { margin-top: calc(var(--default-grid-baseline) * 4); padding: calc(var(--default-grid-baseline) * 4); background: var(--color-warning); border-radius: var(--border-radius-element); border-inline-start: calc(var(--default-grid-baseline)) solid var(--color-warning-text); } /* Feature lists */ .mcp-feature-list { list-style: none; padding: 0; margin: calc(var(--default-grid-baseline) * 3) 0; } .mcp-feature-list li { display: flex; gap: calc(var(--default-grid-baseline) * 3); padding: calc(var(--default-grid-baseline) * 2) 0; align-items: start; } .mcp-feature-list .icon { flex-shrink: 0; width: 24px; height: 24px; opacity: 0.7; } .mcp-feature-list div { flex: 1; } .mcp-feature-list strong { display: block; font-weight: 600; margin-bottom: calc(var(--default-grid-baseline)); } .mcp-feature-list p { margin: 0; color: var(--color-text-maxcontrast); } /* Responsive tables */ @media (max-width: 768px) { .mcp-info-table td:first-child, .mcp-info-table td:last-child { display: block; width: 100%; } .mcp-info-table td:first-child { padding-bottom: calc(var(--default-grid-baseline)); } .mcp-info-table td:last-child { padding-top: calc(var(--default-grid-baseline)); } } /* Admin settings forms */ .mcp-settings-form { max-width: 600px; } .mcp-form-group { margin-bottom: calc(var(--default-grid-baseline) * 5); } .mcp-form-group label { display: block; font-weight: 600; margin-bottom: calc(var(--default-grid-baseline) * 2); } .mcp-range { width: 100%; margin-top: calc(var(--default-grid-baseline) * 2); accent-color: var(--color-primary-element); } .mcp-form-actions { display: flex; align-items: center; gap: calc(var(--default-grid-baseline) * 4); margin-top: calc(var(--default-grid-baseline) * 6); padding-top: calc(var(--default-grid-baseline) * 5); border-top: 1px solid var(--color-border); } /* Webhook preset cards */ .mcp-preset-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: calc(var(--default-grid-baseline) * 4); margin: calc(var(--default-grid-baseline) * 4) 0; } .mcp-preset-card { background: var(--color-background-dark); border-radius: var(--border-radius-container); padding: calc(var(--default-grid-baseline) * 4); border: 2px solid transparent; transition: border-color var(--animation-slow), box-shadow var(--animation-slow); } .mcp-preset-card:hover { border-color: var(--color-border-dark); box-shadow: 0 2px 8px var(--color-box-shadow); } .mcp-preset-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: calc(var(--default-grid-baseline) * 3); } .mcp-preset-header h4 { margin: 0; font-weight: 600; } .mcp-preset-status { padding: calc(var(--default-grid-baseline)) calc(var(--default-grid-baseline) * 2.5); border-radius: calc(var(--border-radius-element) * 1.5); font-size: 11px; font-weight: 600; text-transform: uppercase; } .mcp-status-enabled { background: var(--color-success); color: var(--color-success-text); } .mcp-status-disabled { background: var(--color-background-darker); color: var(--color-text-maxcontrast); } .mcp-preset-description { color: var(--color-text-maxcontrast); margin-bottom: calc(var(--default-grid-baseline) * 3); } .mcp-preset-meta { display: flex; justify-content: space-between; align-items: center; padding-top: calc(var(--default-grid-baseline) * 3); border-top: 1px solid var(--color-border); margin-bottom: calc(var(--default-grid-baseline) * 3); font-size: 12px; color: var(--color-text-maxcontrast); } .mcp-preset-actions { display: flex; gap: calc(var(--default-grid-baseline) * 2); } .mcp-preset-toggle { flex: 1; padding: calc(var(--default-grid-baseline) * 2) calc(var(--default-grid-baseline) * 4); border-radius: var(--border-radius-element); font-size: 13px; font-weight: 600; cursor: pointer; transition: all var(--animation-quick); border: none; } .mcp-preset-toggle.primary { background: var(--color-primary-element); color: var(--color-primary-element-text); } .mcp-preset-toggle.primary:hover:not(:disabled) { background: var(--color-primary-element-hover); } .mcp-preset-toggle.secondary { background: var(--color-background-darker); color: var(--color-main-text); border: 1px solid var(--color-border); } .mcp-preset-toggle.secondary:hover:not(:disabled) { background: var(--color-background-hover); border-color: var(--color-border-dark); } .mcp-preset-toggle:disabled { opacity: 0.6; cursor: not-allowed; } .mcp-loading { text-align: center; padding: calc(var(--default-grid-baseline) * 5); color: var(--color-text-maxcontrast); font-style: italic; }