goctests0 commited on
Commit
210ad98
·
verified ·
1 Parent(s): 43fad69

Upload style.css

Browse files
Files changed (1) hide show
  1. static/css/style.css +105 -0
static/css/style.css CHANGED
@@ -1481,3 +1481,108 @@ audio {
1481
  opacity: 1;
1482
  transform: translateX(-50%) translateY(0);
1483
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1481
  opacity: 1;
1482
  transform: translateX(-50%) translateY(0);
1483
  }
1484
+
1485
+ /* ============================================================
1486
+ 12E additions: filter chips, sort toggle, empty states
1487
+ ============================================================ */
1488
+
1489
+ /* Filter chips — status/language filters above list and history views.
1490
+ Distinct from .chip (symptom/reply quick-select) which uses a pill
1491
+ shape and sits inline in a card. These are tighter, sit in their own
1492
+ row, and have an explicit active/selected state. */
1493
+ .filter-chip-row {
1494
+ display: flex;
1495
+ flex-wrap: wrap;
1496
+ gap: var(--space-2);
1497
+ margin-bottom: var(--space-3);
1498
+ }
1499
+
1500
+ .filter-chip {
1501
+ padding: var(--space-1) var(--space-3);
1502
+ border: 1.5px solid var(--color-border);
1503
+ border-radius: var(--radius);
1504
+ background: var(--color-surface);
1505
+ color: var(--color-text-secondary);
1506
+ font-size: var(--text-sm);
1507
+ font-weight: 600;
1508
+ font-family: inherit;
1509
+ cursor: pointer;
1510
+ transition: background 130ms ease, border-color 130ms ease, color 130ms ease;
1511
+ }
1512
+
1513
+ .filter-chip:hover {
1514
+ border-color: var(--color-primary);
1515
+ color: var(--color-text);
1516
+ }
1517
+
1518
+ .filter-chip.active {
1519
+ background: var(--color-primary-light);
1520
+ border-color: var(--color-primary);
1521
+ color: var(--color-primary-dark);
1522
+ }
1523
+
1524
+ .provider .filter-chip:hover {
1525
+ border-color: var(--color-provider-accent);
1526
+ }
1527
+
1528
+ .provider .filter-chip.active {
1529
+ background: var(--color-provider-accent-light);
1530
+ border-color: var(--color-provider-accent);
1531
+ color: var(--color-provider-accent-text);
1532
+ }
1533
+
1534
+ .sort-toggle-btn {
1535
+ display: inline-flex;
1536
+ align-items: center;
1537
+ gap: var(--space-2);
1538
+ padding: var(--space-1) var(--space-3);
1539
+ border: 1.5px solid var(--color-border);
1540
+ border-radius: var(--radius);
1541
+ background: var(--color-surface);
1542
+ color: var(--color-text-secondary);
1543
+ font-size: var(--text-sm);
1544
+ font-weight: 600;
1545
+ font-family: inherit;
1546
+ cursor: pointer;
1547
+ margin-top: var(--space-2);
1548
+ transition: border-color 130ms ease, color 130ms ease;
1549
+ }
1550
+
1551
+ .sort-toggle-btn:hover {
1552
+ border-color: var(--color-provider-accent);
1553
+ color: var(--color-provider-accent-text);
1554
+ }
1555
+
1556
+ .sort-toggle-btn svg {
1557
+ width: 14px;
1558
+ height: 14px;
1559
+ flex-shrink: 0;
1560
+ }
1561
+
1562
+ /* Empty state: shown when a list is genuinely empty or no results match
1563
+ filters/search. Intentionally minimal — icon, short title, one line. */
1564
+ .empty-state {
1565
+ text-align: center;
1566
+ padding: var(--space-7) var(--space-5);
1567
+ }
1568
+
1569
+ .empty-state-icon {
1570
+ width: 36px;
1571
+ height: 36px;
1572
+ stroke: var(--color-border);
1573
+ margin: 0 auto var(--space-3);
1574
+ display: block;
1575
+ }
1576
+
1577
+ .empty-state-title {
1578
+ font-size: var(--text-base);
1579
+ font-weight: 600;
1580
+ color: var(--color-text);
1581
+ margin-bottom: var(--space-2);
1582
+ }
1583
+
1584
+ .empty-state-body {
1585
+ font-size: var(--text-sm);
1586
+ color: var(--color-text-secondary);
1587
+ margin: 0;
1588
+ }