// Component-specific styles - Material Design 3 // Application-specific components using M3 tokens @use './components/page.scss'; @use './components/typography.scss'; @use './components/buttons.scss'; @use './components/form-inputs.scss'; @use './components/form-structure.scss'; @use './components/badges.scss'; @use './components/cards.scss'; @use './components/data-display.scss'; @use './components/feedback.scss'; @use './components/media.scss'; @use './components/dialogs.scss'; @use './components/app-layout.scss'; @use './components/conflict-features.scss'; @use './components/feature-pages.scss'; // Loading container .loading-container { display: flex; justify-content: center; margin-top: 32px; } // Back button .back-button { margin-bottom: 16px; } // Error alert .error-alert { margin-bottom: 16px; } // Task card .task-card { margin-bottom: 16px; } // Chip row .chip-row { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; } // Task ID .task-id { color: var(--mat-sys-on-surface-variant); font-family: var(--mat-sys-body-small-font); font-size: var(--mat-sys-body-small-size); display: block; } // Monospace text .mono { font-family: var(--mat-sys-body-large-font); font-feature-settings: "tnum" on, "lnum" on; } // Tabs container .tabs-container { border-bottom: 1px solid var(--mat-sys-outline-variant); margin-bottom: 16px; } // Tab panel .tab-panel { padding: 16px; } // Editor container .editor-container { border-radius: var(--mat-sys-corner-medium); overflow: hidden; height: 400px; &.small { height: 300px; } &.large { height: 500px; } } // Status chip .status-chip { margin-top: 8px; } // Turn title .turn-title { flex-grow: 1; } // Current chip .current-chip { margin-right: 8px; } // Turn actions .turn-actions { margin-bottom: 16px; display: flex; gap: 8px; align-items: center; } // Turn section .turn-section { margin-bottom: 16px; } // Turn content .turn-content { padding: 16px; background-color: var(--mat-sys-surface-container-low); border-radius: var(--mat-sys-corner-medium); } // Patch header .patch-header { display: flex; justify-content: space-between; margin-bottom: 16px; } // Patch actions .patch-actions { display: flex; gap: 4px; } // Patch description .patch-description { margin-bottom: 16px; padding: 16px; background-color: var(--mat-sys-surface-container-low); border-radius: var(--mat-sys-corner-medium); } // Text utilities .text-secondary { color: var(--mat-sys-on-surface-variant); } .text-disabled { color: color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent); } .text-center { text-align: center; } .flex-grow { flex-grow: 1; } // Search dialog .search-dialog { .fakemui-dialog-content { min-height: 400px; max-height: 80vh; } } .search-dialog-title { padding-bottom: 8px; display: flex; align-items: center; gap: 8px; } .search-dialog-content { padding: 16px; } .search-input { margin-bottom: 16px; width: 100%; } .search-loading { padding: 16px 0; } .search-loading-row { display: flex; justify-content: center; align-items: center; gap: 16px; } .search-progress { margin-top: 16px; } .search-error { text-align: center; padding: 32px 0; color: var(--mat-sys-error); } .search-section-title { margin-bottom: 8px; display: flex; align-items: center; gap: 4px; font-family: var(--mat-sys-title-small-font); font-size: var(--mat-sys-title-small-size); font-weight: var(--mat-sys-title-small-weight); color: var(--mat-sys-on-surface); svg { width: 18px; height: 18px; vertical-align: middle; } } .search-results-list { margin-bottom: 16px; } .search-result-meta { display: flex; gap: 8px; align-items: center; margin-top: 4px; color: var(--mat-sys-on-surface-variant); font-size: var(--mat-sys-body-small-size); } .search-result-desc { max-width: 300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .search-divider { margin: 16px 0; border: none; border-top: 1px solid var(--mat-sys-outline-variant); } .search-code-title { display: flex; align-items: center; gap: 8px; } .search-code-preview { margin-top: 8px; padding: 8px; background-color: var(--mat-sys-surface-container-highest); font-family: var(--mat-sys-body-large-font); font-feature-settings: "tnum" on, "lnum" on; font-size: var(--mat-sys-body-small-size); overflow: hidden; border-radius: var(--mat-sys-corner-small); } .search-code-line { padding: 2px 0; .line-number { color: var(--mat-sys-on-surface-variant); margin-right: 8px; font-size: var(--mat-sys-label-small-size); opacity: 0.6; } .line-content { font-family: var(--mat-sys-body-large-font); font-feature-settings: "tnum" on, "lnum" on; font-size: var(--mat-sys-body-small-size); &.added { color: var(--color-success); } &.removed { color: var(--mat-sys-error); } } } .search-empty { text-align: center; padding: 32px 0; color: var(--mat-sys-on-surface-variant); > * { margin-top: 8px; display: block; } } // Highlight for search matches .highlight { background-color: color-mix(in srgb, var(--mat-sys-tertiary) 30%, transparent); color: var(--mat-sys-on-surface); padding: 0 4px; border-radius: var(--mat-sys-corner-extra-small); } // Documentation styles .documentation { padding: 16px 0; } .doc-title { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-family: var(--mat-sys-headline-medium-font); font-size: var(--mat-sys-headline-medium-size); font-weight: var(--mat-sys-headline-medium-weight); svg { width: 32px; height: 32px; } } .doc-tabs-container { margin-bottom: 24px; border-bottom: 1px solid var(--mat-sys-outline-variant); } .code-block { padding: 16px; background-color: var(--mat-sys-surface-container-highest); border-radius: var(--mat-sys-corner-medium); position: relative; font-family: var(--mat-sys-body-large-font); font-feature-settings: "tnum" on, "lnum" on; overflow: auto; margin: 8px 0; .copy-button { position: absolute; top: 8px; right: 8px; color: var(--mat-sys-on-surface-variant); svg { width: 16px; height: 16px; } } .code-content { margin: 0; color: var(--mat-sys-on-surface); font-size: var(--mat-sys-body-small-size); line-height: 1.6; white-space: pre-wrap; word-break: break-word; } } .endpoint-row { transition: background-color var(--mat-sys-motion-duration-short4) var(--mat-sys-motion-easing-standard); &:hover { background-color: color-mix(in srgb, var(--mat-sys-on-surface) 8%, transparent); } td { padding: 12px; border-bottom: 1px solid var(--mat-sys-outline-variant); } .method-chip { font-family: var(--mat-sys-body-large-font); font-feature-settings: "tnum" on, "lnum" on; font-weight: 600; } .endpoint-path { font-family: var(--mat-sys-body-large-font); font-feature-settings: "tnum" on, "lnum" on; font-size: var(--mat-sys-body-medium-size); } } // Table styles for endpoints .endpoints-table { width: 100%; border-collapse: collapse; th { text-align: left; padding: 12px; border-bottom: 2px solid var(--mat-sys-outline-variant); font-family: var(--mat-sys-title-small-font); font-weight: var(--mat-sys-title-small-weight); color: var(--mat-sys-on-surface); } td { padding: 12px; border-bottom: 1px solid var(--mat-sys-outline-variant); color: var(--mat-sys-on-surface); } }