Files
ewoooc/web/static/css/page-auto-import.css
OoO 605250619c
All checks were successful
CD Pipeline / deploy (push) Successful in 1m3s
Frontend V3 responsive production update
2026-05-12 18:27:29 +08:00

374 lines
9.8 KiB
CSS

/* ============================================================
page-auto-import.css — Turn A: token-ize inline styles
group: monitor · accent: --momo-warm-caramel
============================================================ */
.auto-import-page {
background: var(--momo-surface-1);
color: var(--momo-ink-primary);
padding-bottom: var(--momo-space-12);
}
/* ---------- Card 通用覆寫(去紫漸層)---------- */
.auto-import-page .card {
border: 1px solid var(--momo-border-light);
border-radius: var(--momo-radius-md);
box-shadow: var(--momo-shadow-soft);
margin-bottom: var(--momo-space-5);
background: var(--momo-surface-0);
transition: box-shadow 0.18s ease;
}
.auto-import-page .card:hover {
box-shadow: var(--momo-shadow-deep);
}
.auto-import-page .card-header {
background: var(--momo-surface-2);
color: var(--momo-ink-primary);
border-bottom: 1px solid var(--momo-border-light);
border-radius: var(--momo-radius-md) var(--momo-radius-md) 0 0 !important;
padding: var(--momo-space-4) var(--momo-space-5);
display: flex;
align-items: center;
gap: var(--momo-space-2);
}
.auto-import-page .card-header h5 {
margin: 0;
font-family: var(--momo-font-heading);
font-weight: var(--momo-font-semibold);
font-size: var(--momo-text-base);
color: var(--momo-ink-primary);
}
.auto-import-page .card-header i {
color: var(--momo-warm-caramel-deep);
}
.auto-import-page .card-body {
padding: var(--momo-space-5);
}
/* ---------- Buttons (去紫色漸層) ---------- */
.auto-import-page .btn-primary {
background: var(--momo-warm-caramel);
border-color: var(--momo-warm-caramel);
color: var(--momo-on-accent, #fff8ef);
border-radius: var(--momo-radius-sm);
padding: var(--momo-space-2) var(--momo-space-4);
font-weight: var(--momo-font-semibold);
font-size: var(--momo-text-sm);
box-shadow: none;
}
.auto-import-page .btn-primary:hover,
.auto-import-page .btn-primary:focus {
background: var(--momo-warm-caramel-deep);
border-color: var(--momo-warm-caramel-deep);
color: var(--momo-on-accent, #fff8ef);
transform: none;
box-shadow: var(--momo-shadow-soft);
}
.auto-import-page .btn-success {
background: var(--momo-warm-olive);
border-color: var(--momo-warm-olive);
color: var(--momo-on-accent, #fff8ef);
border-radius: var(--momo-radius-sm);
padding: var(--momo-space-2) var(--momo-space-4);
font-weight: var(--momo-font-semibold);
font-size: var(--momo-text-sm);
box-shadow: none;
}
.auto-import-page .btn-success:hover,
.auto-import-page .btn-success:focus {
background: var(--momo-warm-olive-deep);
border-color: var(--momo-warm-olive-deep);
color: var(--momo-on-accent, #fff8ef);
transform: none;
box-shadow: var(--momo-shadow-soft);
}
.auto-import-page .btn-secondary {
background: var(--momo-surface-0);
border-color: var(--momo-border-strong);
color: var(--momo-ink-secondary);
border-radius: var(--momo-radius-sm);
padding: var(--momo-space-2) var(--momo-space-4);
font-weight: var(--momo-font-medium);
font-size: var(--momo-text-sm);
}
.auto-import-page .btn-secondary:hover {
background: var(--momo-surface-2);
border-color: var(--momo-warm-caramel);
color: var(--momo-warm-caramel-deep);
}
.auto-import-page .btn-warning {
background: var(--momo-warm-honey);
border-color: var(--momo-warm-honey);
color: var(--momo-on-accent, #fff8ef);
border-radius: var(--momo-radius-sm);
font-weight: var(--momo-font-medium);
}
.auto-import-page .btn-warning:hover {
background: var(--momo-warm-honey-deep);
border-color: var(--momo-warm-honey-deep);
color: var(--momo-on-accent, #fff8ef);
}
.auto-import-page .btn-outline-danger {
border-color: var(--momo-warm-honey-deep);
color: var(--momo-warm-honey-deep);
background: var(--momo-surface-0);
}
.auto-import-page .btn-outline-danger:hover {
background: var(--momo-warm-honey-deep);
border-color: var(--momo-warm-honey-deep);
color: var(--momo-on-accent, #fff8ef);
}
/* ---------- Form ---------- */
.auto-import-page .form-label {
font-weight: var(--momo-font-semibold);
color: var(--momo-ink-secondary);
font-size: var(--momo-text-sm);
margin-bottom: var(--momo-space-2);
}
.auto-import-page .form-control {
border: 1px solid var(--momo-border);
border-radius: var(--momo-radius-sm);
padding: var(--momo-space-2) var(--momo-space-3);
font-size: var(--momo-text-sm);
background: var(--momo-surface-0);
color: var(--momo-ink-primary);
transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.auto-import-page .form-control:focus {
border-color: var(--momo-warm-caramel);
box-shadow: 0 0 0 3px var(--momo-warm-caramel-soft);
}
.auto-import-page .form-control::placeholder {
color: var(--momo-ink-tertiary);
}
.auto-import-page small.text-muted {
color: var(--momo-ink-tertiary) !important;
font-size: var(--momo-text-xs);
}
/* ---------- Alerts ---------- */
.auto-import-page .alert {
border-radius: var(--momo-radius-sm);
padding: var(--momo-space-3) var(--momo-space-4);
margin-bottom: var(--momo-space-4);
font-size: var(--momo-text-sm);
border: 1px solid transparent;
}
.auto-import-page .alert-light,
.auto-import-page .alert-light.border {
background: var(--momo-surface-2);
border-color: var(--momo-border-light);
color: var(--momo-ink-secondary);
}
.auto-import-page .alert-info {
background: var(--momo-warm-caramel-soft);
border-color: var(--momo-warm-caramel);
color: var(--momo-ink-primary);
}
.auto-import-page .alert-info h6 {
font-weight: var(--momo-font-semibold);
color: var(--momo-warm-caramel-deep);
}
.auto-import-page .alert-success {
background: var(--momo-warm-olive-soft);
border-color: var(--momo-warm-olive);
color: var(--momo-warm-olive-deep);
}
.auto-import-page .alert-warning {
background: var(--momo-warm-honey-soft);
border-color: var(--momo-warm-honey);
color: var(--momo-warm-honey-deep);
}
.auto-import-page .alert-danger {
background: rgba(193, 77, 77, 0.1);
border-color: rgba(193, 77, 77, 0.5);
color: #8a3a3a;
}
.auto-import-page .alert code {
background: var(--momo-surface-0);
border: 1px solid var(--momo-border-light);
padding: 0.1em 0.4em;
border-radius: var(--momo-radius-xs);
font-family: var(--momo-font-mono);
font-size: 0.92em;
color: var(--momo-warm-mahogany);
}
/* ---------- Table ---------- */
.auto-import-page .table {
background: transparent;
margin-bottom: 0;
font-size: var(--momo-text-sm);
}
.auto-import-page .table thead th {
background: var(--momo-surface-2);
border-bottom: 1px solid var(--momo-border);
color: var(--momo-ink-secondary);
font-weight: var(--momo-font-semibold);
text-transform: uppercase;
font-size: var(--momo-text-xs);
letter-spacing: 0.04em;
padding: var(--momo-space-3);
white-space: nowrap;
}
.auto-import-page .table tbody td {
vertical-align: middle;
padding: var(--momo-space-3);
border-bottom: 1px solid var(--momo-border-light);
white-space: nowrap;
color: var(--momo-ink-primary);
}
.auto-import-page .table tbody tr:hover td {
background: var(--momo-surface-1);
}
.auto-import-page .table tbody tr:last-child td {
border-bottom: none;
}
.auto-import-page .table tbody td.error-cell {
white-space: normal;
max-width: 250px;
word-break: break-word;
}
.auto-import-page .table tbody td.error-cell small {
color: var(--momo-warm-honey-deep) !important;
font-family: var(--momo-font-mono);
font-size: var(--momo-text-xs);
}
/* ---------- Badges ---------- */
.auto-import-page .badge {
padding: 0.3em 0.7em;
font-weight: var(--momo-font-semibold);
border-radius: var(--momo-radius-pill);
font-size: var(--momo-text-xs);
}
.auto-import-page .badge-pending {
background: var(--momo-warm-honey-soft);
color: var(--momo-warm-honey-deep);
}
.auto-import-page .badge-downloading {
background: var(--momo-warm-caramel-soft);
color: var(--momo-warm-caramel-deep);
}
.auto-import-page .badge-importing {
background: var(--momo-warm-mahogany-soft);
color: var(--momo-warm-mahogany);
}
.auto-import-page .badge-completed {
background: var(--momo-warm-olive-soft);
color: var(--momo-warm-olive-deep);
}
.auto-import-page .badge-failed {
background: rgba(193, 77, 77, 0.15);
color: #8a3a3a;
}
.auto-import-page .badge.bg-success {
background: var(--momo-warm-olive) !important;
color: var(--momo-on-accent, #fff8ef) !important;
}
.auto-import-page .badge.bg-secondary {
background: var(--momo-surface-2) !important;
color: var(--momo-ink-secondary) !important;
border: 1px solid var(--momo-border) !important;
}
/* ---------- Progress ---------- */
.auto-import-page .progress {
height: 6px;
border-radius: var(--momo-radius-pill);
background: var(--momo-surface-2);
overflow: hidden;
}
.auto-import-page .progress-bar {
background: var(--momo-warm-caramel);
transition: width 0.3s ease;
}
/* ---------- Empty state ---------- */
.auto-import-page .empty-state {
text-align: center;
padding: var(--momo-space-12) var(--momo-space-4);
color: var(--momo-ink-tertiary);
}
.auto-import-page .empty-state i {
font-size: 2.5rem;
margin-bottom: var(--momo-space-3);
opacity: 0.4;
color: var(--momo-warm-caramel);
}
.auto-import-page .empty-state p {
margin: 0;
font-size: var(--momo-text-base);
font-weight: var(--momo-font-medium);
}
/* ---------- Spinner ---------- */
.auto-import-page .spinner-border.text-primary {
color: var(--momo-warm-caramel) !important;
}
/* ---------- Page header ---------- */
.auto-import-page h2 {
font-family: var(--momo-font-heading);
font-weight: var(--momo-font-bold);
font-size: var(--momo-text-2xl);
color: var(--momo-ink-primary);
margin: 0 0 var(--momo-space-2) 0;
letter-spacing: 0;
display: flex;
align-items: center;
gap: var(--momo-space-3);
}
.auto-import-page h2 i {
color: var(--momo-warm-caramel);
font-size: 0.85em;
}
.auto-import-page h2 + .text-muted {
color: var(--momo-ink-tertiary) !important;
font-size: var(--momo-text-sm);
}