.jira-collapsible-section { padding: 8px; border-left: 2px solid var(--background-modifier-border); margin-bottom: 4px; } .jira-collapsible-header { display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-weight: bold; padding: 4px 0; } .jira-collapsible-content { margin-top: 20px; padding-left: 20px; } /* Template Selector Styles */ .suggest-select-container { display: flex; flex-direction: column; gap: 8px; width: 100%; } .suggest-select-container .icon-open { position: absolute; bottom: 1em; right: 1em; } .suggest-search-input { padding: 6px 12px; border: 1px solid var(--background-modifier-border); border-radius: 4px; background: var(--background-primary); color: var(--text-normal); font-size: var(--font-ui-small); } .suggest-search-input:focus { outline: none; border-color: var(--interactive-accent); } .suggest-select-item { max-width: 400px; width: 100%; align-self: flex-end; } .mod-warning { color: var(--text-warning); font-style: italic; margin-top: 4px; } .test-mappings-header { margin-bottom: 0.2em; } .test-mappings-desc { margin-bottom: 1em; color: var(--text-muted); } .test-mapping-items-list { display: flex; flex-direction: column; gap: 1.2em; } .test-mapping-item { background: var(--background-secondary-alt); border-radius: 8px; padding: 1em 1em 1em 1.2em; position: relative; box-shadow: 0 1px 4px rgba(0,0,0,0.04); } .value-container { margin-bottom: 0.5em; } .value-display { background: var(--background-secondary); border-radius: 4px; padding: 0.5em 0.8em; /*font-family: var(--font-monospace);*/ font-size: 0.98em; min-height: 2em; margin-top: 0.2em; white-space: pre-wrap; word-break: break-all; border: 1px solid var(--background-modifier-border); } .test-mapping-item .from-jira-container { margin-bottom: 0.5em; } .test-mapping-item .from-jira-input { width: 100%; min-height: 2.2em; /*font-family: var(--font-monospace);*/ font-size: 1em; margin-top: 0.2em; border-radius: 4px; border: 1px solid var(--background-modifier-border); background: var(--background-secondary); color: var(--text-normal); padding: 0.3em 0.5em; resize: vertical; } .add-test-mapping-btn { display: block; margin: 1.5em auto 0 auto; padding: 0.5em 1.5em; background: var(--interactive-accent); color: var(--text-on-accent); border: none; border-radius: 6px; font-size: 1em; cursor: pointer; transition: background 0.2s; } .field-mappings-list { margin: 20px 0; display: flex; flex-direction: column; gap: 16px; background: var(--background-primary-alt); padding: 20px; border-radius: 8px; border: 1px solid var(--background-modifier-border); } .field-mapping-item { background: var(--background-primary); border: 1px solid var(--background-modifier-border); border-radius: 8px; padding: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); position: relative; transition: all 0.2s ease; } .field-mapping-item:hover { border-color: var(--interactive-accent); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .work-description-container textarea { width: 100%; } .field-name-container { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2px solid var(--background-modifier-border); } .field-mapping-label { font-weight: 600; color: var(--text-normal); font-size: 0.9em; /*text-transform: uppercase;*/ letter-spacing: 0.5px; display: block; margin-bottom: 8px; } .field-name-input { width: 100%; padding: 10px 12px; border: 2px solid var(--background-modifier-border); border-radius: 6px; background: var(--background-secondary); font-size: 1em; font-weight: 500; transition: border-color 0.2s ease; } .field-name-input:focus { border-color: var(--interactive-accent); outline: none; box-shadow: 0 0 0 3px rgba(var(--interactive-accent-rgb), 0.1); } .functions-container { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 16px; } .to-jira-container, .from-jira-container { background: var(--background-secondary-alt); padding: 16px; border-radius: 6px; border: 1px solid var(--background-modifier-border-hover); } .test-mapping-item .from-jira-container { background: var(--transparent); padding: 0; border: 0; } .to-jira-input, .from-jira-input { width: 100%; min-height: 40px; padding: 12px; border: 1px solid var(--background-modifier-border); border-radius: 4px; background: var(--background-primary); font-family: var(--font-monospace); font-size: 0.9em; line-height: 1.4; resize: vertical; transition: border-color 0.2s ease; } .to-jira-input:focus, .from-jira-input:focus { border-color: var(--interactive-accent); outline: none; box-shadow: 0 0 0 2px rgba(var(--interactive-accent-rgb), 0.1); } .field-mapping-item .invalid { border-color: var(--color-red) !important; background-color: rgba(var(--color-red-rgb), 0.1) !important; box-shadow: 0 0 0 2px rgba(var(--color-red-rgb), 0.2) !important; } .remove-field-btn { position: absolute; top: 8px; right: 16px; background: var(--background-modifier-error); color: var(--text-on-accent); border: none; border-radius: 50%; width: 28px; height: 28px; font-size: 14px; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } .remove-field-btn:hover { background: var(--background-modifier-error-hover); transform: scale(1.1); } .button-view { justify-content: flex-start; display: flex; flex-direction: row; width: 100%; gap: 1vw; } .button-view button { width: fit-content; } .button-view { display: flex; justify-content: flex-start; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--background-modifier-border); } .button-view button { padding: 10px 16px; border: none; border-radius: 6px; font-weight: 500; cursor: pointer; transition: all 0.2s ease; display: flex; align-items: center; gap: 8px; position: relative; } .add-field-mapping-btn { background: var(--interactive-accent); color: var(--text-on-accent); } .add-field-mapping-btn:hover { background: var(--interactive-accent-hover); transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); } .reset-field-mappings-btn, .reload-field-mappings-btn { background: var(--background-secondary); color: var(--text-normal); border: 1px solid var(--background-modifier-border); } .reset-field-mappings-btn:hover, .reload-field-mappings-btn:hover { background: var(--background-secondary-alt); border-color: var(--interactive-accent); transform: translateY(-1px); } .button-view button::after { content: attr(data-tooltip); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); background: var(--background-tooltip); color: var(--text-on-accent); padding: 6px 10px; border-radius: 4px; font-size: 0.8em; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.2s ease; margin-bottom: 8px; } .button-view button:hover::after { opacity: 1; } .mapping-examples { margin-top: 24px; padding: 20px; background: var(--background-secondary-alt); border: 1px solid var(--background-modifier-border); border-radius: 8px; } .mapping-examples h4 { color: var(--text-normal); margin-bottom: 16px; font-size: 1.1em; } .mapping-examples ul { list-style: none; padding: 0; display: grid; gap: 12px; } .mapping-examples li { background: var(--background-primary); padding: 16px; border-radius: 6px; border: 1px solid var(--background-modifier-border-hover); position: relative; } .use-example-btn { position: absolute; top: 12px; right: 12px; padding: 6px 12px; background: var(--interactive-accent); color: var(--text-on-accent); border: none; border-radius: 4px; font-size: 0.8em; cursor: pointer; transition: background 0.2s ease; } .use-example-btn:hover { background: var(--interactive-accent-hover); } /*hljs.css*/ pre code.hljs { display: block; overflow-x: auto; padding: 1em } code.hljs { padding: 3px 5px } /*! Theme: GitHub Description: Light theme as seen on github.com Author: github.com Maintainer: @Hirse Updated: 2021-05-15 Outdated base version: https://github.com/primer/github-syntax-light Current colors taken from GitHub's CSS */ .hljs { color: #24292e; background: #ffffff } .hljs-doctag, .hljs-keyword, .hljs-meta .hljs-keyword, .hljs-template-tag, .hljs-template-variable, .hljs-type, .hljs-variable.language_ { /* prettylights-syntax-keyword */ color: #f6cc42 } .hljs-title, .hljs-title.class_, .hljs-title.class_.inherited__, .hljs-title.function_ { /* prettylights-syntax-entity */ color: #6f42c1 } .hljs-attr, .hljs-attribute, .hljs-literal, .hljs-meta, .hljs-operator, .hljs-variable, .hljs-selector-attr, .hljs-selector-class, .hljs-selector-id { /* prettylights-syntax-constant */ color: #6ecbfa } .hljs-number { /* prettylights-syntax-numeric-literal */ color: #93cda7 } .hljs-regexp, .hljs-string, .hljs-meta .hljs-string { /* prettylights-syntax-string */ color: #cd905c } .hljs-built_in, .hljs-symbol { /* prettylights-syntax-variable */ color: #e36209 } .hljs-comment, .hljs-code, .hljs-formula { /* prettylights-syntax-comment */ color: #6a737d } .hljs-name, .hljs-quote, .hljs-selector-tag, .hljs-selector-pseudo { /* prettylights-syntax-entity-tag */ color: #22863a } .hljs-subst { /* prettylights-syntax-storage-modifier-import */ color: #24292e } .hljs-section { /* prettylights-syntax-markup-heading */ color: #005cc5; font-weight: bold } .hljs-bullet { /* prettylights-syntax-markup-list */ color: #735c0f } .hljs-emphasis { /* prettylights-syntax-markup-italic */ color: #24292e; font-style: italic } .hljs-strong { /* prettylights-syntax-markup-bold */ color: #24292e; font-weight: bold } .hljs-addition { /* prettylights-syntax-markup-inserted */ color: #22863a; background-color: #f0fff4 } .hljs-deletion { /* prettylights-syntax-markup-deleted */ color: #b31d28; background-color: #ffeef0 } /* These highlight.js classes are intentionally left unstyled */ /* Period selector improvements */ .period-selector .setting-item-control { flex-direction: column; align-items: flex-end; gap: 0.75rem; } .period-selector .timekeep-btn { background: var(--interactive-accent); color: var(--text-on-accent); border: none; border-radius: 6px; padding: 0.5rem 1rem; font-weight: 500; cursor: pointer; transition: all 0.2s ease; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } .period-selector .timekeep-btn:hover:not(:disabled) { background: var(--interactive-accent-hover); transform: translateY(-1px); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); } .period-selector .timekeep-btn:disabled { background: var(--background-modifier-border); color: var(--text-muted); cursor: not-allowed; transform: none; box-shadow: none; } /* Custom dates container */ .custom-dates-container { margin-top: 1rem; padding: 1.25rem; background: var(--background-primary-alt); border-radius: 8px; border: 1px solid var(--background-modifier-border-hover); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } /* Main display container */ .jira-copyable { margin-top: 1.5rem; user-select: text; -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; } .timekeep-section-title { color: var(--text-normal); margin-bottom: 1.5rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--interactive-accent); font-size: 1.1em; font-weight: 600; } /* Period sections */ .period-section { margin-bottom: 2rem; background: var(--background-primary); border-radius: 8px; border: 1px solid var(--background-modifier-border); overflow: hidden; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); } .timekeep-period-header { background: linear-gradient(135deg, var(--background-secondary) 0%, var(--background-secondary-alt) 100%); padding: 1rem 1.5rem; margin: 0; border-bottom: 2px solid var(--interactive-accent); display: flex; align-items: center; justify-content: space-between; border-radius: 8px 8px 0 0; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .timekeep-period-title { color: var(--text-normal); /*font-weight: 700;*/ font-size: 1.1em; letter-spacing: 0.05em; margin: 0; /*text-transform: uppercase;*/ } .timekeep-period-total { font-family: var(--font-monospace); /*font-weight: 700;*/ color: var(--text-on-accent); background: var(--text-selection); padding: 0.6rem 1rem; border-radius: 8px; font-size: 1em; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); } /* Card-based container and styling */ .timekeep-table-container { background: var(--background-primary); } .timekeep-group-card { background: var(--background-primary); border: 1px solid var(--background-modifier-border); border-color: transparent; border-radius: 8px; margin: 3px; overflow: hidden; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); transition: all 0.2s ease; } .timekeep-group-card:hover { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); border-color: var(--interactive-accent); } .timekeep-group-header { background: var(--background-primary); padding: 0.875rem 1.25rem; border-bottom: 1px solid var(--background-modifier-border); cursor: pointer; display: flex; align-items: center; justify-content: space-between; transition: all 0.2s ease; border-left: 3px solid var(--interactive-accent); } .timekeep-last-group-card .timekeep-group-header { border-bottom: 0; } .timekeep-group-header:hover { background: var(--background-secondary); border-left-color: var(--interactive-accent-hover); } .timekeep-group-title { font-weight: 600; font-size: 1em; color: var(--text-normal); margin: 0; display: flex; align-items: center; gap: 0.75rem; } .timekeep-group-meta { display: flex; align-items: center; gap: 1rem; font-size: 0.9em; } .timekeep-group-issue-key { font-family: var(--font-monospace); color: var(--interactive-accent); font-weight: 500; background: var(--background-primary); padding: 0.25rem 0.5rem; border-radius: 4px; border: 1px solid var(--background-modifier-border); } .timekeep-group-issue-key:hover { background: var(--interactive-hover); color: var(--interactive-accent-hover); } .timekeep-group-duration { font-family: var(--font-monospace); font-weight: 600; color: var(--text-accent); background: var(--background-primary); padding: 0.25rem 0.5rem; border-radius: 4px; border: 1px solid var(--background-modifier-border); } .jira-collapse-icon { background-color: var(--background-secondary-alt); border-radius: 13px; transition: transform 0.2s ease; width: 25px; height: 25px; display: flex; align-items: center; justify-content: center; } .collapsed .jira-collapse-icon { transform: rotate(-90deg); } .timekeep-entries-container { background: var(--background-primary); max-height: 0; overflow: hidden; /*transition: max-height 0.3s ease;*/ } .timekeep-group-card:not(.collapsed) .timekeep-entries-container { max-height: fit-content; } .timekeep-entry { padding: 0.75rem 1.25rem; border-bottom: 1px solid var(--background-modifier-border-hover); display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; align-items: center; transition: background-color 0.2s ease; } .timekeep-entry:last-child { border-bottom: none; } .timekeep-entry:hover { background: var(--background-secondary-alt); } .timekeep-entry:nth-child(even) { background: var(--background-primary-alt); } .timekeep-entry:nth-child(even):hover { background: var(--background-secondary-alt); } .timekeep-entry-block-path { font-family: var(--font-monospace); font-size: 0.8em; color: var(--text-normal); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .timekeep-entry-start-time { color: var(--text-muted); font-family: var(--font-monospace); white-space: nowrap; font-size: 0.85em; text-align: right; min-width: 140px; } .timekeep-entry-duration { font-family: var(--font-monospace); font-weight: 600; color: var(--text-accent); white-space: nowrap; font-size: 0.85em; text-align: right; min-width: 80px; } /* Entry labels */ .timekeep-entry-labels { display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; padding: 0.5rem 1.25rem; background: var(--background-secondary-alt); border-bottom: 1px solid var(--background-modifier-border); font-size: 0.75em; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; } .timekeep-entry-label-task { text-align: left; } .timekeep-entry-label-start { text-align: right; min-width: 140px; } .timekeep-entry-label-duration { text-align: right; min-width: 80px; } /* Column-specific styling */ .timekeep-issue-name { font-weight: 500; color: var(--text-normal); } .timekeep-issue-key { font-family: var(--font-monospace); font-size: 0.85em; color: var(--interactive-accent); font-weight: 500; } .timekeep-datetime { color: var(--text-muted); font-size: 0.85em; max-width: 200px; word-wrap: break-word; hyphens: auto; } .timekeep-block-path { max-width: 33%; font-family: var(--font-monospace); font-size: 0.8em; color: var(--text-muted); white-space: nowrap; } .timekeep-duration { font-family: var(--font-monospace); font-weight: 600; color: var(--text-accent); white-space: nowrap; } /* No data state */ .timekeep-no-data { text-align: center; padding: 3rem 1rem; color: var(--text-muted); font-style: italic; background: var(--background-secondary-alt); border-radius: 8px; border: 1px dashed var(--background-modifier-border); margin-top: 1.5rem; } /* Responsive design */ @media (max-width: 768px) { .functions-container { grid-template-columns: 1fr; gap: 12px; } .button-view { flex-direction: column; align-items: stretch; } .button-view button { justify-content: center; } .timekeep-group-header { flex-direction: column; align-items: flex-start; gap: 0.5rem; padding: 0.75rem 1rem; } .timekeep-group-meta { flex-direction: column; width: 100%; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; } .timekeep-group-title { font-size: 1em; } .timekeep-entry { grid-template-columns: 1fr; gap: 0.5rem; padding: 0.75rem 1rem; } .timekeep-entry-labels { grid-template-columns: 1fr; gap: 0.5rem; padding: 0.5rem 1rem; } .timekeep-entry-start-time, .timekeep-entry-duration { text-align: left; min-width: auto; } .timekeep-entry-label-start, .timekeep-entry-label-duration { text-align: left; min-width: auto; } .timekeep-entry-block-path { font-size: 0.85em; } } /* Loading and transition states */ .timekeep-loading { opacity: 0.6; pointer-events: none; transition: opacity 0.3s ease; } .timekeep-fade-in { animation: fadeIn 0.3s ease-out; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } .jira-sync-hidden:not(.jira-sync-active) { display: none; } .cm-inline-code:has(> .jira-sync-hidden) { padding: 0 !important; } /* JQL Preview Container */ .jql-preview-container { margin-top: 1rem; border-radius: 8px; border: 1px solid var(--background-modifier-border); background: var(--background-primary); overflow: hidden; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); min-height: 120px; margin-bottom: 25px; } /* Table wrapper for horizontal scrolling */ .jql-preview-table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; } /* Loading State */ .jql-preview-loading { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; background: var(--background-primary-alt); color: var(--text-muted); min-height: 120px; } .jql-preview-loading-icon { font-size: 2em; margin-bottom: 0.5rem; opacity: 0.7; animation: pulse 2s ease-in-out infinite; } .jql-preview-loading-text { font-size: 0.9em; font-style: italic; } /* Empty State */ .jql-preview-empty { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; background: var(--background-secondary-alt); color: var(--text-muted); min-height: 120px; border: 1px dashed var(--background-modifier-border); border-radius: 8px; margin: 1px; } .jql-preview-empty-icon { font-size: 2em; margin-bottom: 0.5rem; opacity: 0.6; } .jql-preview-empty-text { font-size: 0.9em; font-style: italic; } /* Error State */ .jql-preview-error { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 2rem; background: var(--background-primary-alt); color: var(--text-error); min-height: 120px; border: 1px solid var(--text-error); border-radius: 8px; margin: 1px; } .jql-preview-error-icon { font-size: 1.5em; margin-bottom: 0.5rem; } .jql-preview-error-text { font-size: 0.9em; text-align: center; max-width: 300px; word-wrap: break-word; } /* Header */ .jql-preview-header { background: linear-gradient(135deg, var(--background-secondary) 0%, var(--background-secondary-alt) 100%); padding: 1rem 1.25rem; border-bottom: 2px solid var(--interactive-accent); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .jql-preview-total { display: flex; align-items: center; gap: 0.5rem; color: var(--text-normal); font-weight: 600; } .jql-preview-total-icon { font-size: 1.1em; } .jql-preview-total-text { font-size: 1em; } .jql-preview-showing { color: var(--text-muted); font-weight: normal; font-size: 0.9em; font-style: italic; } /* Table Styles */ .jql-preview-table { width: 100%; border-collapse: collapse; background: var(--background-primary); font-size: 0.85em; table-layout: auto; min-width: 800px; } .jql-preview-table tbody tr { display: table-row; } .jql-preview-table tbody td { display: table-cell; } .jql-preview-table thead { background: var(--background-secondary-alt); } .jql-preview-table th { border-right: 1px solid var(--background-modifier-border-hover); } .jql-preview-table th:last-child { border-right: none; } /* Table Header Column Sizes */ .jql-preview-th-key, .jql-preview-cell-key { width: 100px; min-width: 100px; } .jql-preview-th-icon, .jql-preview-cell-icon { width: 40px; min-width: 40px; text-align: center; padding: 0.5rem 0.25rem; } .jql-preview-th-summary, .jql-preview-cell-summary { width: 200px; min-width: 200px; } .jql-preview-th-date, .jql-preview-cell-date { width: 100px; min-width: 100px; font-size: 0.75em; } .jql-preview-th-status, .jql-preview-cell-status { width: 150px; min-width: 150px; } /* Additional table styling for better appearance */ .jql-preview-table { border: 1px solid var(--background-modifier-border); border-radius: 4px; overflow: hidden; } .jql-preview-table th { background: var(--background-secondary-alt); border-bottom: 2px solid var(--background-modifier-border); font-weight: 600; color: var(--text-muted); font-size: 0.8em; text-transform: uppercase; letter-spacing: 0.05em; padding: 0.75rem 0.5rem; } .jql-preview-table td { border-right: 1px solid var(--background-modifier-border-hover); } .jql-preview-table tr:hover { background: var(--background-secondary-alt); } .jql-preview-table tr:nth-child(even) { background: var(--background-primary-alt); } .jql-preview-table tr:nth-child(even):hover { background: var(--background-secondary-alt); } /* Table Rows */ .jql-preview-row { transition: background-color 0.2s ease; } /* Table Cells */ .jql-preview-table td:last-child { border-right: none; } /* Key Cell */ .jql-preview-cell-key { font-family: var(--font-monospace); font-weight: 600; white-space: nowrap; } .jql-preview-key-link { color: var(--interactive-accent); text-decoration: none; cursor: pointer; padding: 0.125rem 0.25rem; border-radius: 3px; transition: background-color 0.2s ease; } .jql-preview-key-link:hover { background: var(--interactive-hover); color: var(--interactive-accent-hover); } /* Icon Cells */ .jql-preview-cell-icon { text-align: center; padding: 0.5rem 0.25rem; width: 24px; position: relative; } /* Status Indicator */ .jql-preview-status-indicator { width: 12px; height: 12px; border-radius: 50%; margin: 0 auto; } .jql-preview-status-indicator.status-new { background: #4285f4; /* Blue */ } .jql-preview-status-indicator.status-indeterminate { background: #ff9800; /* Orange */ } .jql-preview-status-indicator.status-done { background: #4caf50; /* Green */ } .jql-preview-status-indicator.status-undefined { background: var(--text-muted); } /* Type and Priority Icons */ .jql-preview-type-icon, .jql-preview-priority-icon { width: 16px; height: 16px; object-fit: contain; display: block; margin: 0 auto; } /* User Avatars */ .jql-preview-user-avatar { width: 16px; height: 16px; border-radius: 50%; object-fit: cover; display: block; margin: 0 auto; transition: transform 0.2s ease; } .jql-preview-user-initial { width: 16px; height: 16px; border-radius: 50%; background: var(--interactive-accent); color: var(--text-on-accent); font-size: 0.7em; font-weight: 600; display: flex; align-items: center; justify-content: center; margin: 0 auto; transition: transform 0.2s ease; } .jql-preview-cell-icon a:hover .jql-preview-user-avatar, .jql-preview-cell-icon a:hover .jql-preview-user-initial { transform: scale(1.1); } /* Summary Cell */ .jql-preview-cell-summary { color: var(--text-normal); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; flex: 1 1 auto; min-width: 0; padding-left: 10px; } /* Date Cells */ .jql-preview-cell-date { color: var(--text-muted); font-family: var(--font-monospace); font-size: 0.8em; white-space: nowrap; text-align: center; } /* Status Cell */ .jql-preview-cell-status { white-space: nowrap; text-align: center; } .jql-preview-status-badge { padding: 0.125rem 0.375rem; border-radius: 3px; font-size: 0.75em; font-weight: 500; text-transform: uppercase; letter-spacing: 0.025em; } .jql-preview-status-badge.status-new { background: rgba(66, 133, 244, 0.1); color: #4285f4; border: 1px solid rgba(66, 133, 244, 0.3); } .jql-preview-status-badge.status-indeterminate { background: rgba(255, 152, 0, 0.1); color: #ff9800; border: 1px solid rgba(255, 152, 0, 0.3); } .jql-preview-status-badge.status-done { background: rgba(76, 175, 80, 0.1); color: #4caf50; border: 1px solid rgba(76, 175, 80, 0.3); } .jql-preview-status-badge.status-default { background: var(--background-secondary); color: var(--text-muted); border: 1px solid var(--background-modifier-border); } /* Animations */ @keyframes pulse { 0%, 100% { opacity: 0.7; } 50% { opacity: 1; } } /* Responsive Design */ @media (max-width: 768px) { .jql-preview-table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .jql-preview-table thead { display: block; position: sticky; top: 0; z-index: 10; background: var(--background-secondary-alt); } .jql-preview-table thead tr { display: flex; width: 100%; } .jql-preview-table tbody { display: block; width: 100%; } .jql-preview-table tr { display: flex; width: 100%; border-bottom: 1px solid var(--background-modifier-border-hover); } .jql-preview-table th, .jql-preview-table td { display: flex; align-items: center; justify-content: flex-start; padding: 0.5rem 0.25rem; border-right: 1px solid var(--background-modifier-border-hover); font-size: 0.8em; text-align: left; } .jql-preview-table th:last-child, .jql-preview-table td:last-child { border-right: none; } /* Column widths for mobile */ .jql-preview-th-key, .jql-preview-cell-key { flex: 0 0 80px; min-width: 80px; max-width: 80px; } .jql-preview-th-summary, .jql-preview-cell-summary { flex: 1 1 120px; min-width: 120px; max-width: 120px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .jql-preview-th-icon, .jql-preview-cell-icon { flex: 0 0 32px; min-width: 32px; max-width: 32px; justify-content: center; } .jql-preview-th-date, .jql-preview-cell-date { flex: 0 0 80px; min-width: 80px; max-width: 80px; font-size: 0.7em; } .jql-preview-th-status, .jql-preview-cell-status { flex: 0 0 120px; min-width: 120px; max-width: 120px; } .jql-preview-header { padding: 0.75rem 1rem; } .jql-preview-total { flex-wrap: wrap; gap: 0.25rem 0.5rem; font-size: 0.9em; } /* Ensure icons are properly centered in mobile */ .jql-preview-cell-icon .jql-preview-user-avatar, .jql-preview-cell-icon .jql-preview-user-initial, .jql-preview-cell-icon .jql-preview-type-icon, .jql-preview-cell-icon .jql-preview-priority-icon, .jql-preview-cell-icon .jql-preview-status-indicator { margin: 0 auto; } /* Make links more touch-friendly */ .jql-preview-key-link, .jql-preview-cell-icon a { display: block; padding: 0.25rem; margin: -0.25rem; border-radius: 3px; transition: background-color 0.2s ease; } .jql-preview-key-link:hover, .jql-preview-cell-icon a:hover { background: var(--interactive-hover); } }