.gitea-workflow-panel { --gitea-workflow-shell-bg: var(--bg-primary, #f7f8fa); --gitea-workflow-header-bg: var(--surface-strong, #ffffff); --gitea-workflow-surface: var(--surface-strong, #ffffff); --gitea-workflow-surface-soft: var(--bg-secondary, #f1f3f5); --gitea-workflow-surface-strong: color-mix(in srgb, var(--surface-strong, #ffffff) 92%, var(--bg-primary, #f7f8fa)); --gitea-workflow-border: var(--border-color, #cbd5e1); --gitea-workflow-border-soft: color-mix(in srgb, var(--border-color, #cbd5e1) 62%, transparent); --gitea-workflow-text: var(--text-primary, #1f2937); --gitea-workflow-secondary: var(--text-secondary, #4b5563); --gitea-workflow-muted: var(--text-muted, #64748b); --gitea-workflow-accent: var(--accent, #4678da); --gitea-workflow-success: var(--success, #257942); --gitea-workflow-danger: var(--danger, #b33c45); --gitea-workflow-info: var(--info, #5b7ea1); --gitea-workflow-accent-soft: color-mix(in srgb, var(--gitea-workflow-accent) 14%, var(--surface-strong, #ffffff)); --gitea-workflow-accent-soft-strong: color-mix(in srgb, var(--gitea-workflow-accent) 22%, var(--surface-strong, #ffffff)); --gitea-workflow-success-soft: color-mix(in srgb, var(--gitea-workflow-success) 16%, var(--surface-strong, #ffffff)); --gitea-workflow-danger-soft: color-mix(in srgb, var(--gitea-workflow-danger) 16%, var(--surface-strong, #ffffff)); --gitea-workflow-info-soft: color-mix(in srgb, var(--gitea-workflow-info) 16%, var(--surface-strong, #ffffff)); --gitea-workflow-muted-soft: color-mix(in srgb, var(--gitea-workflow-muted) 12%, var(--surface-strong, #ffffff)); --gitea-workflow-row-hover: color-mix(in srgb, var(--gitea-workflow-accent) 6%, var(--surface-strong, #ffffff)); --gitea-workflow-shadow: 0 24px 56px rgba(0, 0, 0, 0.14); position: absolute; inset: 0; z-index: 20; display: flex; flex-direction: column; min-width: 0; background: var(--gitea-workflow-shell-bg); color: var(--gitea-workflow-text); color-scheme: inherit; isolation: isolate; } :is(html[data-theme='washi'], html[data-theme='editorial'], html[data-theme='sage'], html[data-theme='ink'], html[data-theme='dawn']) .gitea-workflow-panel { --gitea-workflow-shell-bg: color-mix(in srgb, var(--bg-primary, #f7f8fa) 94%, var(--surface-strong, #ffffff) 6%); --gitea-workflow-header-bg: color-mix(in srgb, var(--surface-strong, #ffffff) 92%, var(--bg-primary, #f7f8fa) 8%); --gitea-workflow-surface: color-mix(in srgb, var(--surface-strong, #ffffff) 94%, var(--bg-secondary, #f1f3f5) 6%); --gitea-workflow-surface-soft: color-mix(in srgb, var(--bg-secondary, #f1f3f5) 86%, var(--surface-strong, #ffffff) 14%); --gitea-workflow-row-hover: color-mix(in srgb, var(--gitea-workflow-accent) 5%, var(--surface-strong, #ffffff)); --gitea-workflow-shadow: 0 22px 50px rgba(0, 0, 0, 0.12); } :is(html[data-theme='carbon'], html[data-theme='nocturne'], html[data-theme='cinder'], html[data-theme='wasteland']) .gitea-workflow-panel { --gitea-workflow-shell-bg: color-mix(in srgb, var(--bg-primary, #0f1314) 94%, var(--surface-strong, #171d1e) 6%); --gitea-workflow-header-bg: color-mix(in srgb, var(--surface-strong, #171d1e) 92%, var(--bg-secondary, #151a1b) 8%); --gitea-workflow-surface: color-mix(in srgb, var(--surface-strong, #171d1e) 96%, var(--bg-secondary, #151a1b) 4%); --gitea-workflow-surface-soft: color-mix(in srgb, var(--bg-secondary, #151a1b) 80%, var(--surface-strong, #171d1e) 20%); --gitea-workflow-row-hover: color-mix(in srgb, var(--gitea-workflow-accent) 8%, var(--surface-strong, #171d1e)); --gitea-workflow-shadow: 0 30px 72px rgba(0, 0, 0, 0.36); } .gitea-workflow-panel[hidden] { display: none; } .gitea-workflow-panel__header { flex: 0 0 auto; display: flex; align-items: center; gap: .9rem; min-width: 0; padding: .9rem 1.2rem; border-bottom: 1px solid var(--gitea-workflow-border); background: var(--gitea-workflow-header-bg); box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--surface-strong, #ffffff) 62%, transparent); } .gitea-workflow-panel__header > div { flex: 1; min-width: 0; } .gitea-workflow-panel__header h2 { margin: 0; font-size: 1.05rem; line-height: 1.25; letter-spacing: .01em; } .gitea-workflow-panel__header p { margin: .16rem 0 0; color: var(--gitea-workflow-secondary); font-size: .78rem; line-height: 1.35; overflow-wrap: anywhere; } .gitea-workflow-panel__root { flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable both-edges; padding: 1rem clamp(1rem, 3vw, 2.4rem) 2.4rem; } .gitea-workflow__refresh, .gitea-workflow__button { display: inline-flex; align-items: center; justify-content: center; gap: .28rem; min-height: 2.35rem; padding: .42rem .78rem; border: 1px solid var(--gitea-workflow-border); border-radius: .6rem; background: var(--gitea-workflow-surface); color: var(--gitea-workflow-text); cursor: pointer; font: inherit; font-size: .8rem; font-weight: 600; line-height: 1.1; text-align: center; text-decoration: none; transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease; } .gitea-workflow__refresh:hover:not(:disabled), .gitea-workflow__button:hover:not(:disabled) { border-color: var(--gitea-workflow-accent); background: var(--gitea-workflow-row-hover); } .gitea-workflow__refresh:focus-visible, .gitea-workflow__button:focus-visible, .gitea-workflow__config-grid input:focus-visible, .gitea-workflow__operator input:focus-visible, .gitea-workflow__reason input:focus-visible { outline: none; border-color: var(--gitea-workflow-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--gitea-workflow-accent) 22%, transparent); } .gitea-workflow__refresh:disabled, .gitea-workflow__button:disabled { opacity: .6; cursor: not-allowed; box-shadow: none; transform: none; } .gitea-workflow__refresh { white-space: nowrap; } .gitea-workflow__toolbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; } .gitea-workflow__toolbar > div:first-child { min-width: 0; } .gitea-workflow__toolbar strong { font-size: .98rem; line-height: 1.3; } .gitea-workflow__toolbar small { color: var(--gitea-workflow-secondary); line-height: 1.45; overflow-wrap: anywhere; } .gitea-workflow__actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; flex-wrap: wrap; min-width: 0; } .gitea-workflow__config-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: .75rem; padding: .9rem; } .gitea-workflow__config-grid label { display: flex; flex-direction: column; gap: .28rem; min-width: 0; color: var(--gitea-workflow-secondary); font-size: .72rem; } .gitea-workflow__config-grid input { width: 100%; box-sizing: border-box; border: 1px solid var(--gitea-workflow-border); border-radius: .48rem; padding: .45rem .58rem; background: var(--gitea-workflow-surface); color: var(--gitea-workflow-text); font: inherit; line-height: 1.3; transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, color .16s ease; } .gitea-workflow__config-grid input::placeholder { color: var(--gitea-workflow-muted); opacity: 1; } .gitea-workflow__config-actions { grid-column: 1 / -1; display: flex; align-items: center; min-width: 0; justify-content: flex-end; } .gitea-workflow__button[data-danger] { border-color: color-mix(in srgb, var(--gitea-workflow-danger) 30%, var(--gitea-workflow-border)); background: var(--gitea-workflow-danger-soft); color: var(--gitea-workflow-danger); } .gitea-workflow__button[data-danger]:hover:not(:disabled) { border-color: var(--gitea-workflow-danger); background: color-mix(in srgb, var(--gitea-workflow-danger) 22%, var(--surface-strong, #ffffff)); } .gitea-workflow__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .72rem; margin-bottom: 1rem; } .gitea-workflow__metric { display: flex; flex-direction: column; gap: .18rem; min-width: 0; padding: .82rem .9rem; border: 1px solid var(--gitea-workflow-border); border-radius: .72rem; background: linear-gradient(180deg, var(--gitea-workflow-surface), var(--gitea-workflow-surface-soft)); box-shadow: 0 1px 0 color-mix(in srgb, var(--surface-strong, #ffffff) 72%, transparent); } .gitea-workflow__metric span { display: block; color: var(--gitea-workflow-secondary); font-size: .72rem; line-height: 1.35; } .gitea-workflow__metric strong { display: block; margin-top: .16rem; font-size: 1.38rem; line-height: 1.1; letter-spacing: -.02em; } .gitea-workflow__section { margin-top: 1rem; border: 1px solid var(--gitea-workflow-border); border-radius: .78rem; background: var(--gitea-workflow-surface); box-shadow: var(--gitea-workflow-shadow); overflow: hidden; } .gitea-workflow__section h3 { margin: 0; padding: .78rem .95rem; border-bottom: 1px solid var(--gitea-workflow-border); background: color-mix(in srgb, var(--gitea-workflow-surface-soft) 72%, var(--gitea-workflow-surface) 28%); font-size: .85rem; line-height: 1.35; } .gitea-workflow__table-wrap { overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; } .gitea-workflow__table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: .78rem; } .gitea-workflow__table th, .gitea-workflow__table td { padding: .62rem .72rem; border-bottom: 1px solid var(--gitea-workflow-border-soft); text-align: left; vertical-align: top; } .gitea-workflow__table th { color: var(--gitea-workflow-secondary); font-size: .7rem; font-weight: 600; letter-spacing: .01em; white-space: nowrap; } .gitea-workflow__table td { color: var(--gitea-workflow-text); overflow-wrap: anywhere; } .gitea-workflow__table tbody tr { transition: background-color .14s ease; } .gitea-workflow__table tbody tr:hover td { background: var(--gitea-workflow-row-hover); } .gitea-workflow__table tr:last-child td { border-bottom: 0; } .gitea-workflow__mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .72rem; overflow-wrap: anywhere; } .gitea-workflow__muted { color: var(--gitea-workflow-muted); } .gitea-workflow__pill { display: inline-flex; align-items: center; gap: .28rem; min-height: 1.45rem; padding: .18rem .5rem; border: 1px solid transparent; border-radius: 999px; background: var(--gitea-workflow-accent-soft); color: var(--gitea-workflow-accent); white-space: nowrap; } .gitea-workflow__pill[data-state="active"], .gitea-workflow__pill[data-state="enabled"], .gitea-workflow__pill[data-state="online"], .gitea-workflow__pill[data-state="ready"] { background: var(--gitea-workflow-success-soft); color: var(--gitea-workflow-success); } .gitea-workflow__pill[data-state="queued"], .gitea-workflow__pill[data-state="preparing"] { background: var(--gitea-workflow-info-soft); color: var(--gitea-workflow-info); } .gitea-workflow__pill[data-state="running"], .gitea-workflow__pill[data-state="verifying_reply"] { background: color-mix(in srgb, var(--gitea-workflow-info) 18%, var(--surface-strong, #ffffff)); color: var(--gitea-workflow-info); } .gitea-workflow__pill[data-state="waiting_user"], .gitea-workflow__pill[data-state="retry_wait"] { background: color-mix(in srgb, var(--gitea-workflow-accent) 18%, var(--surface-strong, #ffffff)); color: var(--gitea-workflow-accent); } .gitea-workflow__pill[data-state="blocked_workspace"], .gitea-workflow__pill[data-state="failed"], .gitea-workflow__pill[data-state="failed_reply"], .gitea-workflow__pill[data-state="aborting"] { background: var(--gitea-workflow-danger-soft); color: var(--gitea-workflow-danger); } .gitea-workflow__pill[data-state="succeeded"], .gitea-workflow__pill[data-state="succeeded_with_rest_fallback"] { background: var(--gitea-workflow-success-soft); color: var(--gitea-workflow-success); } .gitea-workflow__pill[data-state="cancelled"], .gitea-workflow__pill[data-state="aborted"], .gitea-workflow__pill[data-state="disabled"] { background: var(--gitea-workflow-muted-soft); color: var(--gitea-workflow-muted); } .gitea-workflow__dirty { max-width: 18rem; color: color-mix(in srgb, var(--gitea-workflow-accent) 58%, var(--gitea-workflow-secondary)); overflow-wrap: anywhere; } .gitea-workflow__log { max-height: 14rem; overflow: auto; padding: .2rem .9rem .7rem; } .gitea-workflow__log-entry { display: grid; grid-template-columns: minmax(9rem, 10rem) minmax(4.25rem, 5rem) minmax(0, 1fr); gap: .55rem; padding: .42rem 0; border-bottom: 1px dashed var(--gitea-workflow-border-soft); font-size: .74rem; } .gitea-workflow__log-entry:last-child { border-bottom: 0; } .gitea-workflow__empty { padding: 1rem; color: var(--gitea-workflow-muted); text-align: center; font-size: .8rem; } .gitea-workflow__error { margin-bottom: .75rem; padding: .68rem .82rem; border: 1px solid color-mix(in srgb, var(--gitea-workflow-danger) 28%, var(--gitea-workflow-border)); border-radius: .6rem; background: var(--gitea-workflow-danger-soft); color: color-mix(in srgb, var(--gitea-workflow-danger) 82%, var(--gitea-workflow-text)); font-size: .8rem; line-height: 1.45; } @media (max-width: 900px) { .gitea-workflow__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 720px) { .gitea-workflow-panel__header { padding: .8rem .85rem; } .gitea-workflow-panel__root { padding: .85rem .8rem 1.35rem; } .gitea-workflow__toolbar { gap: .8rem; } .gitea-workflow__config-grid { grid-template-columns: 1fr; } .gitea-workflow__log-entry { grid-template-columns: 1fr; gap: .12rem; } .gitea-workflow__table { min-width: 720px; } }