refactor(theme): retire the --color-* shim — the sweep it promised, run
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 7s
CI & Build / integration (push) Successful in 17s
CI & Build / TypeScript typecheck (push) Successful in 34s
CI & Build / Python tests (push) Successful in 48s
CI & Build / Build & push image (push) Successful in 37s
CI & Build / Python lint (push) Successful in 3s
CI & Build / Plugin hooks (push) Successful in 7s
CI & Build / integration (push) Successful in 17s
CI & Build / TypeScript typecheck (push) Successful in 34s
CI & Build / Python tests (push) Successful in 48s
CI & Build / Build & push image (push) Successful in 37s
#2533. theme.css claimed "removing this block is a rename sweep across the
components, tracked separately" — written in 67a529a, never filed, which made
the comment itself an instance of the survey's presence-without-reference
pattern. This is that sweep.
73 alias declarations deleted; 69 files rewritten; every --color-*-style name
now references its --fs-* token directly. Mechanical by construction: the map
IS the alias block, applied longest-name-first with a boundary guard so
--color-text never matched inside --color-text-muted. Zero survivors outside
theme.css, verified by grep rather than assumed.
One deliberate survivor: --color-shadow stays DECLARED, because it was never
an alias — it is a literal value the design system has no token for. Marked
in place as a recorded gap: promote it to an --fs-* token when a second app
needs it, don't copy the line.
Nothing is lost mode-wise: the aliases' resolve-at-use-time trick (which
absorbed 48 dark-mode overrides) lives one layer down in the --fs-* tokens'
own derivations, which is why the sweep is a pure rename. Both CSS checkers
green.
Why now rather than never: check_snippets_against_design_system reports every
--color-* reference as "unknown — renders as NOTHING", and nine recipe
snippets recorded from components.css carried the deprecated names, making
them prior art pointing the wrong way. With the sweep in, the checker's
report over re-recorded snippets should be EMPTY — the acceptance test that
proves the checker was right all along (#2517's correction).
Refs #2533
This commit is contained in:
+197
-197
@@ -2353,7 +2353,7 @@ function formatUserDate(iso: string): string {
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.07em;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
padding: 0.25rem 0.75rem 0.2rem;
|
||||
}
|
||||
.sidebar-item {
|
||||
@@ -2366,19 +2366,19 @@ function formatUserDate(iso: string): string {
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
font-size: 0.875rem;
|
||||
color: var(--color-text-secondary);
|
||||
border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
|
||||
color: var(--fs-text-secondary);
|
||||
border-radius: 0 var(--fs-radius-sm) var(--fs-radius-sm) 0;
|
||||
transition: color 0.15s, background 0.15s, border-color 0.15s;
|
||||
font-family: inherit;
|
||||
}
|
||||
.sidebar-item:hover {
|
||||
color: var(--color-text);
|
||||
background: var(--color-bg-secondary);
|
||||
color: var(--fs-text-primary);
|
||||
background: var(--fs-surface-raised);
|
||||
}
|
||||
.sidebar-item.active {
|
||||
color: var(--color-primary);
|
||||
background: color-mix(in srgb, var(--color-primary) 8%, transparent);
|
||||
border-left-color: var(--color-primary);
|
||||
color: var(--fs-accent);
|
||||
background: color-mix(in srgb, var(--fs-accent) 8%, transparent);
|
||||
border-left-color: var(--fs-accent);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
@@ -2396,9 +2396,9 @@ function formatUserDate(iso: string): string {
|
||||
align-items: start;
|
||||
}
|
||||
.settings-section {
|
||||
background: var(--color-bg-card);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
background: var(--fs-surface-raised);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-lg);
|
||||
padding: 1.25rem;
|
||||
}
|
||||
.settings-section.full-width {
|
||||
@@ -2410,12 +2410,12 @@ function formatUserDate(iso: string): string {
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.07em;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
}
|
||||
.section-desc {
|
||||
margin: 0 0 1rem;
|
||||
font-size: 0.875rem;
|
||||
color: var(--color-text-secondary);
|
||||
color: var(--fs-text-secondary);
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
@@ -2429,8 +2429,8 @@ function formatUserDate(iso: string): string {
|
||||
.model-row {
|
||||
display: flex; align-items: center; justify-content: space-between; gap: 0.5rem;
|
||||
padding: 0.45rem 0.6rem;
|
||||
background: var(--color-bg-secondary);
|
||||
border: 1px solid var(--color-border);
|
||||
background: var(--fs-surface-raised);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: 6px;
|
||||
}
|
||||
.model-row-info { display: flex; align-items: center; gap: 0.4rem; min-width: 0; flex: 1; }
|
||||
@@ -2439,44 +2439,44 @@ function formatUserDate(iso: string): string {
|
||||
font-size: 0.68rem; padding: 0.1rem 0.4rem; border-radius: 3px; font-weight: 500; white-space: nowrap;
|
||||
}
|
||||
.model-badge--loaded { background: color-mix(in srgb, #22c55e 18%, transparent); color: #22c55e; }
|
||||
.model-badge--default { background: color-mix(in srgb, var(--color-primary) 18%, transparent); color: var(--color-primary); }
|
||||
.model-badge--default { background: color-mix(in srgb, var(--fs-accent) 18%, transparent); color: var(--fs-accent); }
|
||||
.model-row-right { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
|
||||
.model-size { font-size: 0.78rem; color: var(--color-text-muted); }
|
||||
.model-size { font-size: 0.78rem; color: var(--fs-text-tertiary); }
|
||||
.model-delete-btn {
|
||||
background: none; border: none; cursor: pointer; color: var(--color-text-muted);
|
||||
background: none; border: none; cursor: pointer; color: var(--fs-text-tertiary);
|
||||
font-size: 0.8rem; padding: 0.2rem 0.35rem; border-radius: 3px; line-height: 1;
|
||||
transition: color 0.15s, background 0.15s;
|
||||
}
|
||||
.model-delete-btn:hover:not(:disabled) { color: var(--color-action-destructive); background: color-mix(in srgb, var(--color-action-destructive) 10%, transparent); }
|
||||
.model-delete-btn:hover:not(:disabled) { color: var(--fs-action-destructive); background: color-mix(in srgb, var(--fs-action-destructive) 10%, transparent); }
|
||||
.model-delete-btn:disabled { opacity: 0.4; cursor: default; }
|
||||
.model-pull-form { display: flex; gap: 0.5rem; margin-top: 0.5rem; }
|
||||
.model-pull-form .input { flex: 1; }
|
||||
.model-suggestions { display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; margin-top: 0.4rem; }
|
||||
.suggestions-label { font-size: 0.75rem; color: var(--color-text-muted); white-space: nowrap; }
|
||||
.suggestions-label { font-size: 0.75rem; color: var(--fs-text-tertiary); white-space: nowrap; }
|
||||
.suggestion-chip {
|
||||
font-size: 0.72rem; padding: 0.15rem 0.5rem; border-radius: 4px;
|
||||
border: 1px solid var(--color-border); background: var(--color-bg-card);
|
||||
cursor: pointer; font-family: monospace; color: var(--color-text);
|
||||
border: 1px solid var(--fs-border-color); background: var(--fs-surface-raised);
|
||||
cursor: pointer; font-family: monospace; color: var(--fs-text-primary);
|
||||
transition: border-color 0.12s, background 0.12s;
|
||||
}
|
||||
.suggestion-chip:hover:not(:disabled) { border-color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 8%, var(--color-bg-card)); }
|
||||
.suggestion-chip:hover:not(:disabled) { border-color: var(--fs-accent); background: color-mix(in srgb, var(--fs-accent) 8%, var(--fs-surface-raised)); }
|
||||
.suggestion-chip:disabled { opacity: 0.4; cursor: default; }
|
||||
.model-pull-progress { margin-top: 0.6rem; }
|
||||
.pull-status { font-size: 0.8rem; color: var(--color-text-muted); margin-bottom: 0.25rem; }
|
||||
.pull-status { font-size: 0.8rem; color: var(--fs-text-tertiary); margin-bottom: 0.25rem; }
|
||||
.pull-bar-track {
|
||||
height: 4px; background: var(--color-border); border-radius: 2px; overflow: hidden;
|
||||
height: 4px; background: var(--fs-border-color); border-radius: 2px; overflow: hidden;
|
||||
}
|
||||
.pull-bar-fill {
|
||||
height: 100%; background: var(--color-primary); border-radius: 2px;
|
||||
height: 100%; background: var(--fs-accent); border-radius: 2px;
|
||||
transition: width 0.3s ease;
|
||||
}
|
||||
.pull-bar-indeterminate {
|
||||
height: 4px; background: var(--color-border); border-radius: 2px;
|
||||
height: 4px; background: var(--fs-border-color); border-radius: 2px;
|
||||
position: relative; overflow: hidden;
|
||||
}
|
||||
.pull-bar-indeterminate::after {
|
||||
content: ""; position: absolute; top: 0; left: -40%;
|
||||
width: 40%; height: 100%; background: var(--color-primary); border-radius: 2px;
|
||||
width: 40%; height: 100%; background: var(--fs-accent); border-radius: 2px;
|
||||
animation: indeterminate 1.2s ease-in-out infinite;
|
||||
}
|
||||
@keyframes indeterminate {
|
||||
@@ -2503,27 +2503,27 @@ function formatUserDate(iso: string): string {
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
margin-bottom: 0.35rem;
|
||||
color: var(--color-text);
|
||||
color: var(--fs-text-primary);
|
||||
}
|
||||
.input {
|
||||
width: 100%;
|
||||
padding: 0.45rem 0.7rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-sm);
|
||||
font-size: 0.9rem;
|
||||
background: var(--color-bg);
|
||||
color: var(--color-text);
|
||||
background: var(--fs-surface-page);
|
||||
color: var(--fs-text-primary);
|
||||
box-sizing: border-box;
|
||||
font-family: inherit;
|
||||
}
|
||||
.input:focus {
|
||||
outline: none;
|
||||
border-color: var(--color-primary);
|
||||
border-color: var(--fs-accent);
|
||||
}
|
||||
.field-hint {
|
||||
margin: 0.3rem 0 0;
|
||||
font-size: 0.78rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
}
|
||||
.field-hint-warn {
|
||||
display: block;
|
||||
@@ -2552,12 +2552,12 @@ function formatUserDate(iso: string): string {
|
||||
font-size: 0.82rem;
|
||||
padding: 0.2rem 0;
|
||||
}
|
||||
.db-maint-table-list .dm-status { color: var(--color-text-muted); }
|
||||
.db-maint-table-list li.dm-failed .dm-status { color: var(--color-danger); }
|
||||
.db-maint-table-list .dm-status { color: var(--fs-text-tertiary); }
|
||||
.db-maint-table-list li.dm-failed .dm-status { color: var(--fs-error); }
|
||||
|
||||
/* DB table-health readout */
|
||||
.db-health { margin-top: 1.5rem; }
|
||||
.db-health-total { color: var(--color-text-muted); font-weight: 400; }
|
||||
.db-health-total { color: var(--fs-text-tertiary); font-weight: 400; }
|
||||
.db-health-scroll { overflow-x: auto; margin-top: 0.5rem; }
|
||||
.db-health-table {
|
||||
width: 100%;
|
||||
@@ -2567,35 +2567,35 @@ function formatUserDate(iso: string): string {
|
||||
.db-health-table th, .db-health-table td {
|
||||
text-align: left;
|
||||
padding: 0.35rem 0.6rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
white-space: nowrap;
|
||||
}
|
||||
.db-health-table th {
|
||||
font-size: 0.72rem;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.04em;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
font-weight: 500;
|
||||
}
|
||||
.db-health-table td.num, .db-health-table th.num { text-align: right; font-variant-numeric: tabular-nums; }
|
||||
.db-health-table tr.dh-warn td { color: var(--color-warning); }
|
||||
.db-health-table tr.dh-warn td:first-child code { color: var(--color-warning); }
|
||||
.db-health-table tr.dh-warn td { color: var(--fs-warning); }
|
||||
.db-health-table tr.dh-warn td:first-child code { color: var(--fs-warning); }
|
||||
.btn-warn:hover:not(:disabled) {
|
||||
background: var(--color-warning);
|
||||
background: var(--fs-warning);
|
||||
color: var(--fs-text-on-action);
|
||||
}
|
||||
|
||||
.saved-msg {
|
||||
color: var(--color-success);
|
||||
color: var(--fs-success);
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.input-error { border-color: var(--color-danger); }
|
||||
.input-error:focus { border-color: var(--color-danger); }
|
||||
.input-error { border-color: var(--fs-error); }
|
||||
.input-error:focus { border-color: var(--fs-error); }
|
||||
.error-hint {
|
||||
margin: 0.3rem 0 0;
|
||||
font-size: 0.78rem;
|
||||
color: var(--color-danger);
|
||||
color: var(--fs-error);
|
||||
}
|
||||
|
||||
.retention-row {
|
||||
@@ -2623,21 +2623,21 @@ function formatUserDate(iso: string): string {
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
font-size: 0.9rem;
|
||||
color: var(--color-text);
|
||||
color: var(--fs-text-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.checkbox-field input[type="checkbox"] {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
accent-color: var(--color-primary);
|
||||
accent-color: var(--fs-accent);
|
||||
}
|
||||
|
||||
/* Search test */
|
||||
.url-chip {
|
||||
font-size: 0.8rem;
|
||||
padding: 0.1rem 0.4rem;
|
||||
background: var(--color-bg-secondary);
|
||||
border: 1px solid var(--color-border);
|
||||
background: var(--fs-surface-raised);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.not-configured {
|
||||
@@ -2652,7 +2652,7 @@ function formatUserDate(iso: string): string {
|
||||
.search-row .input { flex: 1; }
|
||||
.search-error {
|
||||
font-size: 0.875rem;
|
||||
color: var(--color-danger);
|
||||
color: var(--fs-error);
|
||||
margin: 0 0 0.5rem;
|
||||
}
|
||||
.search-results {
|
||||
@@ -2665,9 +2665,9 @@ function formatUserDate(iso: string): string {
|
||||
}
|
||||
.search-result {
|
||||
padding: 0.65rem 0.85rem;
|
||||
background: var(--color-bg-secondary);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--fs-surface-raised);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-sm);
|
||||
}
|
||||
.result-header {
|
||||
display: flex;
|
||||
@@ -2679,20 +2679,20 @@ function formatUserDate(iso: string): string {
|
||||
.result-title {
|
||||
font-size: 0.9rem;
|
||||
font-weight: 500;
|
||||
color: var(--color-primary);
|
||||
color: var(--fs-accent);
|
||||
text-decoration: none;
|
||||
word-break: break-word;
|
||||
}
|
||||
.result-title:hover { text-decoration: underline; }
|
||||
.result-host {
|
||||
font-size: 0.75rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
white-space: nowrap;
|
||||
}
|
||||
.result-snippet {
|
||||
margin: 0;
|
||||
font-size: 0.82rem;
|
||||
color: var(--color-text-secondary);
|
||||
color: var(--fs-text-secondary);
|
||||
line-height: 1.45;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
@@ -2721,10 +2721,10 @@ function formatUserDate(iso: string): string {
|
||||
margin: 0 0 0.5rem;
|
||||
font-size: 0.875rem;
|
||||
font-weight: 500;
|
||||
color: var(--color-text-secondary);
|
||||
color: var(--fs-text-secondary);
|
||||
}
|
||||
.test-email-section {
|
||||
border-top: 1px solid var(--color-border);
|
||||
border-top: 1px solid var(--fs-border-color);
|
||||
padding-top: 1rem;
|
||||
}
|
||||
.test-email-row {
|
||||
@@ -2737,7 +2737,7 @@ function formatUserDate(iso: string): string {
|
||||
/* Push notifications */
|
||||
.push-unsupported {
|
||||
font-size: 0.875rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
}
|
||||
.push-status-row {
|
||||
display: flex;
|
||||
@@ -2747,7 +2747,7 @@ function formatUserDate(iso: string): string {
|
||||
font-size: 0.875rem;
|
||||
}
|
||||
.push-status-label {
|
||||
color: var(--color-text-secondary);
|
||||
color: var(--fs-text-secondary);
|
||||
font-weight: 500;
|
||||
}
|
||||
.push-permission-badge,
|
||||
@@ -2758,15 +2758,15 @@ function formatUserDate(iso: string): string {
|
||||
letter-spacing: 0.04em;
|
||||
padding: 0.1rem 0.4rem;
|
||||
border-radius: 999px;
|
||||
background: color-mix(in srgb, var(--color-text-muted) 15%, transparent);
|
||||
color: var(--color-text-muted);
|
||||
background: color-mix(in srgb, var(--fs-text-tertiary) 15%, transparent);
|
||||
color: var(--fs-text-tertiary);
|
||||
}
|
||||
.perm-granted { background: color-mix(in srgb, var(--color-success) 15%, transparent); color: var(--color-success); }
|
||||
.perm-denied { background: color-mix(in srgb, var(--color-danger) 15%, transparent); color: var(--color-danger); }
|
||||
.sub-active { background: color-mix(in srgb, var(--color-success) 15%, transparent); color: var(--color-success); }
|
||||
.perm-granted { background: color-mix(in srgb, var(--fs-success) 15%, transparent); color: var(--fs-success); }
|
||||
.perm-denied { background: color-mix(in srgb, var(--fs-error) 15%, transparent); color: var(--fs-error); }
|
||||
.sub-active { background: color-mix(in srgb, var(--fs-success) 15%, transparent); color: var(--fs-success); }
|
||||
.push-error {
|
||||
font-size: 0.82rem;
|
||||
color: var(--color-danger);
|
||||
color: var(--fs-error);
|
||||
margin: 0.25rem 0 0;
|
||||
}
|
||||
|
||||
@@ -2780,7 +2780,7 @@ function formatUserDate(iso: string): string {
|
||||
position: static;
|
||||
padding-right: 0;
|
||||
padding-bottom: 0.5rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
.sidebar-group {
|
||||
@@ -2796,13 +2796,13 @@ function formatUserDate(iso: string): string {
|
||||
width: auto;
|
||||
border-left: none;
|
||||
border-bottom: 2px solid transparent;
|
||||
border-radius: var(--radius-sm) var(--radius-sm) 0 0;
|
||||
border-radius: var(--fs-radius-sm) var(--fs-radius-sm) 0 0;
|
||||
font-size: 0.82rem;
|
||||
padding: 0.35rem 0.7rem;
|
||||
}
|
||||
.sidebar-item.active {
|
||||
border-bottom-color: var(--color-primary);
|
||||
background: var(--color-primary-tint);
|
||||
border-bottom-color: var(--fs-accent);
|
||||
background: var(--fs-accent-soft);
|
||||
}
|
||||
.settings-grid {
|
||||
grid-template-columns: 1fr;
|
||||
@@ -2827,8 +2827,8 @@ function formatUserDate(iso: string): string {
|
||||
}
|
||||
.registration-info { flex: 1; }
|
||||
.registration-status { margin: 0; font-size: 0.95rem; }
|
||||
.text-success { color: var(--color-success); }
|
||||
.text-muted { color: var(--color-text-muted); }
|
||||
.text-success { color: var(--fs-success); }
|
||||
.text-muted { color: var(--fs-text-tertiary); }
|
||||
.invite-form {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
@@ -2840,7 +2840,7 @@ function formatUserDate(iso: string): string {
|
||||
margin: 0 0 0.5rem;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 500;
|
||||
color: var(--color-text-secondary);
|
||||
color: var(--fs-text-secondary);
|
||||
}
|
||||
.users-table { width: 100%; border-collapse: collapse; }
|
||||
.users-table th {
|
||||
@@ -2849,19 +2849,19 @@ function formatUserDate(iso: string): string {
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
padding: 0.5rem 0.75rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
}
|
||||
.users-table td {
|
||||
padding: 0.65rem 0.75rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
.users-table tbody tr:last-child td { border-bottom: none; }
|
||||
.cell-username { font-weight: 500; }
|
||||
.cell-email { color: var(--color-text-secondary); }
|
||||
.cell-date { color: var(--color-text-muted); font-size: 0.85rem; }
|
||||
.cell-email { color: var(--fs-text-secondary); }
|
||||
.cell-date { color: var(--fs-text-tertiary); font-size: 0.85rem; }
|
||||
.cell-actions { white-space: nowrap; }
|
||||
.role-badge {
|
||||
display: inline-block;
|
||||
@@ -2870,17 +2870,17 @@ function formatUserDate(iso: string): string {
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
padding: 0.15rem 0.4rem;
|
||||
border-radius: var(--radius-sm);
|
||||
border-radius: var(--fs-radius-sm);
|
||||
}
|
||||
.role-admin {
|
||||
color: var(--color-primary);
|
||||
background: color-mix(in srgb, var(--color-primary) 15%, transparent);
|
||||
color: var(--fs-accent);
|
||||
background: color-mix(in srgb, var(--fs-accent) 15%, transparent);
|
||||
}
|
||||
.role-user {
|
||||
color: var(--color-text-muted);
|
||||
background: var(--color-bg-secondary);
|
||||
color: var(--fs-text-tertiary);
|
||||
background: var(--fs-surface-raised);
|
||||
}
|
||||
.you-label { font-size: 0.8rem; color: var(--color-text-muted); }
|
||||
.you-label { font-size: 0.8rem; color: var(--fs-text-tertiary); }
|
||||
/* Per-row delete (users / invitations / etc.): ghost → Oxblood on hover */
|
||||
|
||||
/* Logs panel */
|
||||
@@ -2894,17 +2894,17 @@ function formatUserDate(iso: string): string {
|
||||
align-items: center;
|
||||
gap: 0.15rem;
|
||||
}
|
||||
.stat-count { font-size: 1.5rem; font-weight: 500; color: var(--color-text); }
|
||||
.stat-count { font-size: 1.5rem; font-weight: 500; color: var(--fs-text-primary); }
|
||||
.stat-label {
|
||||
font-size: 0.75rem;
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
}
|
||||
.stat-audit { color: var(--color-primary); }
|
||||
.stat-usage { color: var(--color-success); }
|
||||
.stat-error { color: var(--color-danger); }
|
||||
.stat-audit { color: var(--fs-accent); }
|
||||
.stat-usage { color: var(--fs-success); }
|
||||
.stat-error { color: var(--fs-error); }
|
||||
|
||||
.filter-bar { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
|
||||
.filter-select { min-width: 140px; }
|
||||
@@ -2918,49 +2918,49 @@ function formatUserDate(iso: string): string {
|
||||
font-weight: 500;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.05em;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
padding: 0.5rem 0.75rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
}
|
||||
.logs-table td {
|
||||
padding: 0.5rem 0.75rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
.logs-table tbody tr:last-child td { border-bottom: none; }
|
||||
.log-row { cursor: pointer; transition: background 0.1s; }
|
||||
.log-row:hover { background: var(--color-bg-secondary); }
|
||||
.row-expanded { background: var(--color-bg-secondary); }
|
||||
.cell-time { white-space: nowrap; color: var(--color-text-muted); font-size: 0.8rem; }
|
||||
.cell-user { color: var(--color-text-secondary); }
|
||||
.log-row:hover { background: var(--fs-surface-raised); }
|
||||
.row-expanded { background: var(--fs-surface-raised); }
|
||||
.cell-time { white-space: nowrap; color: var(--fs-text-tertiary); font-size: 0.8rem; }
|
||||
.cell-user { color: var(--fs-text-secondary); }
|
||||
.cell-action { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
||||
.cell-status { font-family: monospace; font-size: 0.85rem; }
|
||||
.cell-duration { color: var(--color-text-muted); font-size: 0.8rem; white-space: nowrap; }
|
||||
.text-error { color: var(--color-danger); }
|
||||
.cell-duration { color: var(--fs-text-tertiary); font-size: 0.8rem; white-space: nowrap; }
|
||||
.text-error { color: var(--fs-error); }
|
||||
/* Bare by design, like LogsView's twin of this: a `<tr>` has nothing to style
|
||||
that its cells don't carry (#2444). */
|
||||
.detail-row td { padding: 0 0.75rem 0.75rem; border-bottom: 1px solid var(--color-border); }
|
||||
.detail-ip { font-family: monospace; font-size: 0.8rem; color: var(--color-text-muted); margin-bottom: 0.4rem; }
|
||||
.detail-row td { padding: 0 0.75rem 0.75rem; border-bottom: 1px solid var(--fs-border-color); }
|
||||
.detail-ip { font-family: monospace; font-size: 0.8rem; color: var(--fs-text-tertiary); margin-bottom: 0.4rem; }
|
||||
.detail-json {
|
||||
margin: 0; padding: 0.75rem;
|
||||
background: var(--color-bg); border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm); font-size: 0.8rem;
|
||||
background: var(--fs-surface-page); border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-sm); font-size: 0.8rem;
|
||||
overflow-x: auto; white-space: pre-wrap; word-break: break-all; max-height: 300px;
|
||||
}
|
||||
.category-badge {
|
||||
display: inline-block;
|
||||
font-size: 0.65rem; font-weight: 500;
|
||||
text-transform: uppercase; letter-spacing: 0.05em;
|
||||
padding: 0.1rem 0.35rem; border-radius: var(--radius-sm);
|
||||
padding: 0.1rem 0.35rem; border-radius: var(--fs-radius-sm);
|
||||
}
|
||||
.cat-audit { color: var(--color-primary); background: color-mix(in srgb, var(--color-primary) 15%, transparent); }
|
||||
.cat-usage { color: var(--color-success); background: color-mix(in srgb, var(--color-success) 15%, transparent); }
|
||||
.cat-error { color: var(--color-danger); background: color-mix(in srgb, var(--color-danger) 15%, transparent); }
|
||||
.cat-audit { color: var(--fs-accent); background: color-mix(in srgb, var(--fs-accent) 15%, transparent); }
|
||||
.cat-usage { color: var(--fs-success); background: color-mix(in srgb, var(--fs-success) 15%, transparent); }
|
||||
.cat-error { color: var(--fs-error); background: color-mix(in srgb, var(--fs-error) 15%, transparent); }
|
||||
.method-tag {
|
||||
display: inline-block;
|
||||
font-size: 0.65rem; font-weight: 500; font-family: monospace;
|
||||
padding: 0.05rem 0.25rem; border-radius: 3px;
|
||||
background: var(--color-bg-secondary); color: var(--color-text-muted);
|
||||
background: var(--fs-surface-raised); color: var(--fs-text-tertiary);
|
||||
margin-right: 0.25rem;
|
||||
}
|
||||
|
||||
@@ -2968,7 +2968,7 @@ function formatUserDate(iso: string): string {
|
||||
.version-line {
|
||||
margin: 0;
|
||||
font-size: 0.9rem;
|
||||
color: var(--color-text);
|
||||
color: var(--fs-text-primary);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.6rem;
|
||||
@@ -2977,10 +2977,10 @@ function formatUserDate(iso: string): string {
|
||||
font-family: ui-monospace, monospace;
|
||||
font-size: 0.8rem;
|
||||
padding: 0.15rem 0.5rem;
|
||||
background: var(--color-bg-secondary);
|
||||
border: 1px solid var(--color-primary);
|
||||
background: var(--fs-surface-raised);
|
||||
border: 1px solid var(--fs-accent);
|
||||
border-radius: 4px;
|
||||
color: var(--color-primary);
|
||||
color: var(--fs-accent);
|
||||
}
|
||||
|
||||
/* ── Groups tab ──────────────────────────────────────────────── */
|
||||
@@ -2989,16 +2989,16 @@ function formatUserDate(iso: string): string {
|
||||
.input-field {
|
||||
width: 100%;
|
||||
padding: 0.4rem 0.6rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
background: var(--color-surface);
|
||||
color: var(--color-text);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-sm);
|
||||
background: var(--fs-surface-hover);
|
||||
color: var(--fs-text-primary);
|
||||
font-size: 0.875rem;
|
||||
font-family: inherit;
|
||||
outline: none;
|
||||
transition: border-color 0.15s;
|
||||
}
|
||||
.input-field:focus { border-color: var(--color-primary); }
|
||||
.input-field:focus { border-color: var(--fs-accent); }
|
||||
|
||||
.group-create-form {
|
||||
display: flex;
|
||||
@@ -3010,7 +3010,7 @@ function formatUserDate(iso: string): string {
|
||||
.group-create-form .input-field { flex: 1; min-width: 160px; }
|
||||
|
||||
.loading-msg, .empty-msg {
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
font-size: 0.88rem;
|
||||
padding: 0.5rem 0;
|
||||
}
|
||||
@@ -3022,8 +3022,8 @@ function formatUserDate(iso: string): string {
|
||||
}
|
||||
|
||||
.group-card {
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-lg);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@@ -3032,7 +3032,7 @@ function formatUserDate(iso: string): string {
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0.75rem 1rem;
|
||||
background: var(--color-bg-secondary);
|
||||
background: var(--fs-surface-raised);
|
||||
}
|
||||
|
||||
.group-card-info {
|
||||
@@ -3046,16 +3046,16 @@ function formatUserDate(iso: string): string {
|
||||
.group-name {
|
||||
font-weight: 500;
|
||||
font-size: 0.9rem;
|
||||
color: var(--color-text);
|
||||
color: var(--fs-text-primary);
|
||||
}
|
||||
.group-meta {
|
||||
font-size: 0.78rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
white-space: nowrap;
|
||||
}
|
||||
.group-desc {
|
||||
font-size: 0.82rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
@@ -3078,8 +3078,8 @@ function formatUserDate(iso: string): string {
|
||||
top: 100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: var(--color-surface);
|
||||
border: 1px solid var(--color-border);
|
||||
background: var(--fs-surface-hover);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: 6px;
|
||||
margin-top: 2px;
|
||||
list-style: none;
|
||||
@@ -3098,16 +3098,16 @@ function formatUserDate(iso: string): string {
|
||||
cursor: pointer;
|
||||
transition: background 0.1s;
|
||||
}
|
||||
.member-result-item:hover { background: var(--color-hover); }
|
||||
.member-result-item:hover { background: var(--fs-surface-hover); }
|
||||
.member-result-name { font-weight: 500; font-size: 0.85rem; }
|
||||
.member-result-email { color: var(--color-text-muted); font-size: 0.78rem; }
|
||||
.member-result-email { color: var(--fs-text-tertiary); font-size: 0.78rem; }
|
||||
|
||||
.role-select {
|
||||
padding: 0.4rem 0.5rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: 6px;
|
||||
background: var(--color-surface);
|
||||
color: var(--color-text);
|
||||
background: var(--fs-surface-hover);
|
||||
color: var(--fs-text-primary);
|
||||
font-size: 0.85rem;
|
||||
cursor: pointer;
|
||||
font-family: inherit;
|
||||
@@ -3128,10 +3128,10 @@ function formatUserDate(iso: string): string {
|
||||
gap: 0.5rem;
|
||||
padding: 0.4rem 0.5rem;
|
||||
border-radius: 6px;
|
||||
background: var(--color-hover);
|
||||
background: var(--fs-surface-hover);
|
||||
}
|
||||
|
||||
.member-name { flex: 1; font-size: 0.88rem; font-weight: 500; color: var(--color-text); }
|
||||
.member-name { flex: 1; font-size: 0.88rem; font-weight: 500; color: var(--fs-text-primary); }
|
||||
|
||||
.member-role-badge {
|
||||
font-size: 0.7rem;
|
||||
@@ -3141,11 +3141,11 @@ function formatUserDate(iso: string): string {
|
||||
padding: 0.15rem 0.4rem;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.role-owner { background: color-mix(in srgb, var(--color-warning) 15%, transparent); color: var(--color-warning); }
|
||||
.role-member { background: color-mix(in srgb, var(--color-muted) 15%, transparent); color: var(--color-muted); }
|
||||
.role-owner { background: color-mix(in srgb, var(--fs-warning) 15%, transparent); color: var(--fs-warning); }
|
||||
.role-member { background: color-mix(in srgb, var(--fs-text-tertiary) 15%, transparent); color: var(--fs-text-tertiary); }
|
||||
|
||||
.members-empty {
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
font-size: 0.82rem;
|
||||
padding: 0.25rem 0.5rem;
|
||||
}
|
||||
@@ -3160,23 +3160,23 @@ function formatUserDate(iso: string): string {
|
||||
font-size: 0.78rem;
|
||||
margin: 0.2rem 0 0;
|
||||
}
|
||||
.geo-ok { color: var(--color-success); }
|
||||
.geo-error { color: var(--color-danger); }
|
||||
.geo-pending { color: var(--color-text-muted); }
|
||||
.geo-ok { color: var(--fs-success); }
|
||||
.geo-error { color: var(--fs-error); }
|
||||
.geo-pending { color: var(--fs-text-tertiary); }
|
||||
|
||||
.unit-toggle {
|
||||
display: flex;
|
||||
gap: 0;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-sm);
|
||||
overflow: hidden;
|
||||
width: fit-content;
|
||||
margin-top: 0.25rem;
|
||||
}
|
||||
.unit-btn {
|
||||
padding: 0.4rem 1rem;
|
||||
background: var(--color-bg-card);
|
||||
color: var(--color-text-muted);
|
||||
background: var(--fs-surface-raised);
|
||||
color: var(--fs-text-tertiary);
|
||||
font-size: 0.85rem;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
@@ -3184,14 +3184,14 @@ function formatUserDate(iso: string): string {
|
||||
transition: background 0.15s, color 0.15s;
|
||||
}
|
||||
.unit-btn:not(:last-child) {
|
||||
border-right: 1px solid var(--color-border);
|
||||
border-right: 1px solid var(--fs-border-color);
|
||||
}
|
||||
.unit-btn.active {
|
||||
background: var(--color-action-primary);
|
||||
background: var(--fs-action-primary);
|
||||
color: var(--fs-text-on-action);
|
||||
}
|
||||
.unit-btn:hover:not(.active) {
|
||||
color: var(--color-text);
|
||||
color: var(--fs-text-primary);
|
||||
}
|
||||
|
||||
.checkbox-label {
|
||||
@@ -3216,7 +3216,7 @@ function formatUserDate(iso: string): string {
|
||||
}
|
||||
.time-sep {
|
||||
font-size: 1.1rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
}
|
||||
.time-sep--quiet { font-size: 0.9rem; }
|
||||
|
||||
@@ -3239,9 +3239,9 @@ function formatUserDate(iso: string): string {
|
||||
cursor: pointer;
|
||||
}
|
||||
.api-key-reveal {
|
||||
background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));
|
||||
border: 1px solid color-mix(in srgb, var(--color-primary) 30%, transparent);
|
||||
border-radius: var(--radius-md);
|
||||
background: color-mix(in srgb, var(--fs-accent) 8%, var(--fs-surface-hover));
|
||||
border: 1px solid color-mix(in srgb, var(--fs-accent) 30%, transparent);
|
||||
border-radius: var(--fs-radius-lg);
|
||||
padding: 1rem;
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
@@ -3253,9 +3253,9 @@ function formatUserDate(iso: string): string {
|
||||
}
|
||||
.api-key-value {
|
||||
flex: 1;
|
||||
background: var(--color-surface-2);
|
||||
background: var(--fs-surface-hover);
|
||||
padding: 0.4rem 0.6rem;
|
||||
border-radius: var(--radius-sm);
|
||||
border-radius: var(--fs-radius-sm);
|
||||
font-size: 0.85rem;
|
||||
word-break: break-all;
|
||||
}
|
||||
@@ -3267,7 +3267,7 @@ function formatUserDate(iso: string): string {
|
||||
.api-keys-table th, .api-keys-table td {
|
||||
text-align: left;
|
||||
padding: 0.5rem 0.75rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
.api-keys-table th { font-weight: 500; opacity: 0.7; }
|
||||
@@ -3292,8 +3292,8 @@ function formatUserDate(iso: string): string {
|
||||
align-items: center;
|
||||
gap: 1rem;
|
||||
padding: 0.65rem 0.9rem;
|
||||
background: color-mix(in srgb, var(--color-primary) 8%, transparent);
|
||||
border: 1px solid color-mix(in srgb, var(--color-primary) 25%, transparent);
|
||||
background: color-mix(in srgb, var(--fs-accent) 8%, transparent);
|
||||
border: 1px solid color-mix(in srgb, var(--fs-accent) 25%, transparent);
|
||||
border-radius: 8px;
|
||||
}
|
||||
.mcp-pkg-name { font-family: monospace; font-size: 0.9rem; flex: 1; }
|
||||
@@ -3303,8 +3303,8 @@ function formatUserDate(iso: string): string {
|
||||
.mcp-code {
|
||||
margin-top: 0.4rem;
|
||||
padding: 0.55rem 0.75rem;
|
||||
background: color-mix(in srgb, var(--color-text) 6%, transparent);
|
||||
border: 1px solid var(--color-border);
|
||||
background: color-mix(in srgb, var(--fs-text-primary) 6%, transparent);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: 6px;
|
||||
font-size: 0.82rem;
|
||||
font-family: monospace;
|
||||
@@ -3317,23 +3317,23 @@ function formatUserDate(iso: string): string {
|
||||
display: flex;
|
||||
gap: 0.25rem;
|
||||
margin-bottom: 1rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
}
|
||||
.mcp-client-tab {
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 0.5rem 0.9rem;
|
||||
font-size: 0.85rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
cursor: pointer;
|
||||
border-bottom: 2px solid transparent;
|
||||
margin-bottom: -1px;
|
||||
transition: color 0.15s, border-color 0.15s;
|
||||
}
|
||||
.mcp-client-tab:hover { color: var(--color-text); }
|
||||
.mcp-client-tab:hover { color: var(--fs-text-primary); }
|
||||
.mcp-client-tab.active {
|
||||
color: var(--color-primary);
|
||||
border-bottom-color: var(--color-primary);
|
||||
color: var(--fs-accent);
|
||||
border-bottom-color: var(--fs-accent);
|
||||
font-weight: 500;
|
||||
}
|
||||
.mcp-url-block { margin-top: 0.25rem; }
|
||||
@@ -3371,7 +3371,7 @@ function formatUserDate(iso: string): string {
|
||||
.mcp-code-row .btn-sm { white-space: nowrap; }
|
||||
.mcp-advanced {
|
||||
margin-top: 1.25rem;
|
||||
border-top: 1px solid var(--color-border);
|
||||
border-top: 1px solid var(--fs-border-color);
|
||||
padding-top: 0.75rem;
|
||||
}
|
||||
.mcp-advanced summary {
|
||||
@@ -3428,7 +3428,7 @@ function formatUserDate(iso: string): string {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-top: 1px solid var(--color-border);
|
||||
border-top: 1px solid var(--fs-border-color);
|
||||
max-height: 480px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
@@ -3438,19 +3438,19 @@ function formatUserDate(iso: string): string {
|
||||
justify-content: space-between;
|
||||
gap: 1rem;
|
||||
padding: 0.65rem 0.25rem;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
border-bottom: 1px solid var(--fs-border-color);
|
||||
}
|
||||
.voice-library-meta {
|
||||
min-width: 0;
|
||||
flex: 1;
|
||||
}
|
||||
.voice-library-id {
|
||||
font-family: var(--font-mono);
|
||||
font-family: var(--fs-font-mono);
|
||||
font-size: 0.9rem;
|
||||
font-weight: 500;
|
||||
}
|
||||
.voice-library-sub {
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
font-size: 0.8rem;
|
||||
margin-top: 0.15rem;
|
||||
}
|
||||
@@ -3462,7 +3462,7 @@ function formatUserDate(iso: string): string {
|
||||
}
|
||||
.voice-library-empty {
|
||||
padding: 1rem 0;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
text-align: center;
|
||||
font-style: italic;
|
||||
}
|
||||
@@ -3475,9 +3475,9 @@ function formatUserDate(iso: string): string {
|
||||
letter-spacing: 0.04em;
|
||||
}
|
||||
.voice-badge--bundled {
|
||||
background: color-mix(in srgb, var(--color-text-muted) 10%, transparent);
|
||||
color: var(--color-text-muted);
|
||||
border: 1px solid var(--color-border);
|
||||
background: color-mix(in srgb, var(--fs-text-tertiary) 10%, transparent);
|
||||
color: var(--fs-text-tertiary);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
}
|
||||
.status-badge {
|
||||
font-size: 0.75rem;
|
||||
@@ -3486,14 +3486,14 @@ function formatUserDate(iso: string): string {
|
||||
border-radius: 999px;
|
||||
}
|
||||
.status-on {
|
||||
background: color-mix(in srgb, var(--color-success) 15%, transparent);
|
||||
color: var(--color-success);
|
||||
border: 1px solid color-mix(in srgb, var(--color-success) 40%, transparent);
|
||||
background: color-mix(in srgb, var(--fs-success) 15%, transparent);
|
||||
color: var(--fs-success);
|
||||
border: 1px solid color-mix(in srgb, var(--fs-success) 40%, transparent);
|
||||
}
|
||||
.status-off {
|
||||
background: color-mix(in srgb, var(--color-text-muted) 10%, transparent);
|
||||
color: var(--color-text-muted);
|
||||
border: 1px solid var(--color-border);
|
||||
background: color-mix(in srgb, var(--fs-text-tertiary) 10%, transparent);
|
||||
color: var(--fs-text-tertiary);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
}
|
||||
.radio-group {
|
||||
display: flex;
|
||||
@@ -3513,7 +3513,7 @@ function formatUserDate(iso: string): string {
|
||||
.range-input {
|
||||
width: 100%;
|
||||
max-width: 360px;
|
||||
accent-color: var(--color-primary);
|
||||
accent-color: var(--fs-accent);
|
||||
margin: 0.35rem 0 0.2rem;
|
||||
}
|
||||
.range-labels {
|
||||
@@ -3521,7 +3521,7 @@ function formatUserDate(iso: string): string {
|
||||
justify-content: space-between;
|
||||
max-width: 360px;
|
||||
font-size: 0.75rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
}
|
||||
.form-actions {
|
||||
margin-top: 1rem;
|
||||
@@ -3539,7 +3539,7 @@ function formatUserDate(iso: string): string {
|
||||
width: 4px;
|
||||
height: 4px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-text-muted);
|
||||
background: var(--fs-text-tertiary);
|
||||
animation: va-dot-bounce 1.2s ease-in-out infinite;
|
||||
}
|
||||
.voice-admin-spinner span:nth-child(2) { animation-delay: 0.2s; }
|
||||
@@ -3553,9 +3553,9 @@ function formatUserDate(iso: string): string {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
.blend-slot {
|
||||
background: color-mix(in srgb, var(--color-surface) 60%, transparent);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-md);
|
||||
background: color-mix(in srgb, var(--fs-surface-hover) 60%, transparent);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: var(--fs-radius-lg);
|
||||
padding: 0.75rem 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -3577,7 +3577,7 @@ function formatUserDate(iso: string): string {
|
||||
font-variant-numeric: tabular-nums;
|
||||
min-width: 2.5rem;
|
||||
text-align: right;
|
||||
color: var(--color-text-secondary);
|
||||
color: var(--fs-text-secondary);
|
||||
}
|
||||
.blend-actions {
|
||||
margin-top: 0.25rem;
|
||||
@@ -3599,37 +3599,37 @@ function formatUserDate(iso: string): string {
|
||||
}
|
||||
.day-btn {
|
||||
padding: 0.3rem 0.65rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-radius: 6px;
|
||||
background: var(--color-bg-card);
|
||||
color: var(--color-text-muted);
|
||||
background: var(--fs-surface-raised);
|
||||
color: var(--fs-text-tertiary);
|
||||
font-size: 0.82rem;
|
||||
cursor: pointer;
|
||||
transition: all 0.15s;
|
||||
font-family: inherit;
|
||||
}
|
||||
.day-btn:hover { border-color: var(--color-primary); color: var(--color-primary); }
|
||||
.day-btn:hover { border-color: var(--fs-accent); color: var(--fs-accent); }
|
||||
.day-btn.active {
|
||||
background: color-mix(in srgb, var(--color-primary) 15%, transparent);
|
||||
border-color: var(--color-primary);
|
||||
color: var(--color-primary);
|
||||
background: color-mix(in srgb, var(--fs-accent) 15%, transparent);
|
||||
border-color: var(--fs-accent);
|
||||
color: var(--fs-accent);
|
||||
font-weight: 500;
|
||||
}
|
||||
.learned-summary {
|
||||
background: var(--color-bg-secondary);
|
||||
border: 1px solid var(--color-border);
|
||||
border-left: 3px solid var(--color-primary);
|
||||
background: var(--fs-surface-raised);
|
||||
border: 1px solid var(--fs-border-color);
|
||||
border-left: 3px solid var(--fs-accent);
|
||||
border-radius: 8px;
|
||||
padding: 0.85rem 1rem;
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.55;
|
||||
color: var(--color-text);
|
||||
color: var(--fs-text-primary);
|
||||
white-space: pre-wrap;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
.learned-empty {
|
||||
font-size: 0.85rem;
|
||||
color: var(--color-text-muted);
|
||||
color: var(--fs-text-tertiary);
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user