goctests0 commited on
Commit
86469e7
·
verified ·
1 Parent(s): c143324

Upload style.css

Browse files
Files changed (1) hide show
  1. static/css/style.css +55 -105
static/css/style.css CHANGED
@@ -554,7 +554,8 @@ textarea:focus, input[type="text"]:focus {
554
  }
555
 
556
  .history-row-static .timestamp {
557
- float: right;
 
558
  font-weight: 400;
559
  }
560
 
@@ -608,7 +609,7 @@ textarea:focus, input[type="text"]:focus {
608
  }
609
 
610
  .result-text {
611
- font-size: var(--text-lg);
612
  color: var(--color-text);
613
  }
614
 
@@ -637,7 +638,7 @@ audio {
637
  padding: var(--space-3) var(--space-4);
638
  border-radius: var(--radius-sm);
639
  font-size: var(--text-base);
640
- margin-bottom: var(--space-4);
641
  }
642
 
643
  .nav-link {
@@ -758,6 +759,7 @@ audio {
758
  align-items: center;
759
  justify-content: center;
760
  cursor: pointer;
 
761
  box-shadow: 0 4px 12px rgba(96, 108, 56, 0.35);
762
  transition: background-color 120ms ease, transform 120ms ease;
763
  }
@@ -1019,16 +1021,6 @@ audio {
1019
  }
1020
 
1021
  /* One-shot ripple on the inline mic button when tapped */
1022
- .mic-inline-btn {
1023
- position: absolute;
1024
- right: 8px;
1025
- bottom: 8px;
1026
- width: 38px;
1027
- height: 38px;
1028
- border-radius: 50%;
1029
- overflow: visible;
1030
- }
1031
-
1032
  .mic-inline-btn::after {
1033
  content: "";
1034
  position: absolute;
@@ -1483,13 +1475,14 @@ audio {
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;
@@ -1521,6 +1514,11 @@ audio {
1521
  color: var(--color-primary-dark);
1522
  }
1523
 
 
 
 
 
 
1524
  .provider .filter-chip:hover {
1525
  border-color: var(--color-provider-accent);
1526
  }
@@ -1531,6 +1529,11 @@ audio {
1531
  color: var(--color-provider-accent-text);
1532
  }
1533
 
 
 
 
 
 
1534
  .sort-toggle-btn {
1535
  display: inline-flex;
1536
  align-items: center;
@@ -1553,77 +1556,29 @@ audio {
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
- }
1589
-
1590
- /* ============================================================
1591
- 12F: Component library pass + accessibility review
1592
- ============================================================ */
1593
-
1594
- /* ---- Focus rings: every interactive element needs a visible focus
1595
- indicator for keyboard users. Existing .btn:focus-visible covers
1596
- primary/secondary/provider buttons. Adding the missing cases. ---- */
1597
-
1598
- .filter-chip:focus-visible {
1599
- outline: 2px solid var(--color-primary);
1600
- outline-offset: 2px;
1601
- }
1602
-
1603
- .provider .filter-chip:focus-visible {
1604
- outline-color: var(--color-provider-accent);
1605
- }
1606
-
1607
  .queue-tab:focus-visible {
1608
  outline: 2px solid var(--color-provider-accent);
1609
  outline-offset: 2px;
1610
  }
1611
 
1612
- .sort-toggle-btn:focus-visible {
1613
- outline: 2px solid var(--color-provider-accent);
1614
- outline-offset: 2px;
1615
- }
1616
-
1617
- .history-row:focus-visible {
1618
- outline: 2px solid var(--color-primary);
1619
- outline-offset: 2px;
1620
- }
1621
-
1622
  .queue-card:focus-visible {
1623
  outline: 2px solid var(--color-provider-accent);
1624
  outline-offset: 2px;
1625
  }
1626
 
 
1627
  .audio-btn:focus-visible {
1628
  outline: 2px solid var(--color-primary-dark);
1629
  outline-offset: 2px;
@@ -1633,9 +1588,7 @@ audio {
1633
  outline-color: var(--color-provider-accent-text);
1634
  }
1635
 
1636
- /* ---- Disabled state for the provider Send button. btn-primary:disabled
1637
- already exists, this mirrors it for the rust-accent role. ---- */
1638
-
1639
  .btn-provider:disabled {
1640
  background: var(--color-border);
1641
  color: var(--color-text-secondary);
@@ -1643,42 +1596,43 @@ audio {
1643
  cursor: not-allowed;
1644
  }
1645
 
1646
- /* ---- Spinner color inside the provider Send button (explicit, not
1647
- relying on inheritance from the button's own text color). ---- */
1648
-
1649
  .btn-provider .spinner {
1650
  border: 2px solid rgba(255, 255, 255, 0.35);
1651
  border-top-color: #fff;
1652
  }
1653
 
1654
- /* ---- Fix float: right on timestamps inside flex containers.
1655
- Float is unreliable inside flex/grid parents; push the timestamp
1656
- to the end of the row with margin-left: auto instead. ---- */
1657
-
1658
- .history-row-static .timestamp {
1659
- float: none;
1660
- margin-left: auto;
1661
  }
1662
 
1663
- /* ---- Reduce result-text font-size: var(--text-lg) is over-sized for
1664
- a preview line in a history or result row. Match surrounding text. ---- */
 
 
 
 
 
1665
 
1666
- .result-text {
1667
  font-size: var(--text-base);
 
1668
  color: var(--color-text);
 
1669
  }
1670
 
1671
- /* ---- NLU summary: remove the double bottom spacing caused by the
1672
- card's own padding + the element's margin-bottom. ---- */
1673
-
1674
- .nlu-summary {
1675
- margin-bottom: 0;
1676
  }
1677
 
1678
- /* ---- Desktop provider: hide Back buttons in the respond pane. On
1679
- desktop both panes are always visible (two-column layout), so
1680
- Back makes no sense in either compose or read-only mode. ---- */
1681
-
1682
  @media (min-width: 900px) {
1683
  .provider-layout [data-step="respond"] #back-to-list,
1684
  .provider-layout [data-step="respond"] #back-to-list-readonly {
@@ -1686,10 +1640,8 @@ audio {
1686
  }
1687
  }
1688
 
1689
- /* ---- Visually-hidden utility: for screen-reader-only text that should
1690
- not appear visually but is needed for accessibility context, e.g.
1691
- adding " (active)" to the selected filter chip label. ---- */
1692
-
1693
  .sr-only {
1694
  position: absolute;
1695
  width: 1px;
@@ -1702,10 +1654,8 @@ audio {
1702
  border: 0;
1703
  }
1704
 
1705
- /* ---- Skip link: allows keyboard users to skip past the header and
1706
- jump directly to the main content. Visually hidden until focused,
1707
- appears as a small bar at the top of the viewport on Tab. ---- */
1708
-
1709
  .skip-link {
1710
  position: absolute;
1711
  top: -40px;
 
554
  }
555
 
556
  .history-row-static .timestamp {
557
+ float: none;
558
+ margin-left: auto;
559
  font-weight: 400;
560
  }
561
 
 
609
  }
610
 
611
  .result-text {
612
+ font-size: var(--text-base);
613
  color: var(--color-text);
614
  }
615
 
 
638
  padding: var(--space-3) var(--space-4);
639
  border-radius: var(--radius-sm);
640
  font-size: var(--text-base);
641
+ margin-bottom: 0;
642
  }
643
 
644
  .nav-link {
 
759
  align-items: center;
760
  justify-content: center;
761
  cursor: pointer;
762
+ overflow: visible;
763
  box-shadow: 0 4px 12px rgba(96, 108, 56, 0.35);
764
  transition: background-color 120ms ease, transform 120ms ease;
765
  }
 
1021
  }
1022
 
1023
  /* One-shot ripple on the inline mic button when tapped */
 
 
 
 
 
 
 
 
 
 
1024
  .mic-inline-btn::after {
1025
  content: "";
1026
  position: absolute;
 
1475
  }
1476
 
1477
  /* ============================================================
1478
+ Filter chips (12E), focus rings, disabled states,
1479
+ skip link, sr-only utility, desktop Back-hide (12F)
1480
  ============================================================ */
1481
 
1482
  /* Filter chips — status/language filters above list and history views.
1483
+ Distinct from .chip (symptom/reply quick-select) which uses pill shape
1484
+ and sits inline in a card. These are tighter, sit in their own row,
1485
+ and have an explicit active/selected state. */
1486
  .filter-chip-row {
1487
  display: flex;
1488
  flex-wrap: wrap;
 
1514
  color: var(--color-primary-dark);
1515
  }
1516
 
1517
+ .filter-chip:focus-visible {
1518
+ outline: 2px solid var(--color-primary);
1519
+ outline-offset: 2px;
1520
+ }
1521
+
1522
  .provider .filter-chip:hover {
1523
  border-color: var(--color-provider-accent);
1524
  }
 
1529
  color: var(--color-provider-accent-text);
1530
  }
1531
 
1532
+ .provider .filter-chip:focus-visible {
1533
+ outline-color: var(--color-provider-accent);
1534
+ }
1535
+
1536
+ /* Sort toggle button, shown on provider Completed tab only */
1537
  .sort-toggle-btn {
1538
  display: inline-flex;
1539
  align-items: center;
 
1556
  color: var(--color-provider-accent-text);
1557
  }
1558
 
1559
+ .sort-toggle-btn:focus-visible {
1560
+ outline: 2px solid var(--color-provider-accent);
1561
+ outline-offset: 2px;
1562
+ }
1563
+
1564
  .sort-toggle-btn svg {
1565
  width: 14px;
1566
  height: 14px;
1567
  flex-shrink: 0;
1568
  }
1569
 
1570
+ /* Queue tab and card focus rings */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1571
  .queue-tab:focus-visible {
1572
  outline: 2px solid var(--color-provider-accent);
1573
  outline-offset: 2px;
1574
  }
1575
 
 
 
 
 
 
 
 
 
 
 
1576
  .queue-card:focus-visible {
1577
  outline: 2px solid var(--color-provider-accent);
1578
  outline-offset: 2px;
1579
  }
1580
 
1581
+ /* Audio button focus rings */
1582
  .audio-btn:focus-visible {
1583
  outline: 2px solid var(--color-primary-dark);
1584
  outline-offset: 2px;
 
1588
  outline-color: var(--color-provider-accent-text);
1589
  }
1590
 
1591
+ /* Provider Send button disabled state, mirrors .btn-primary:disabled */
 
 
1592
  .btn-provider:disabled {
1593
  background: var(--color-border);
1594
  color: var(--color-text-secondary);
 
1596
  cursor: not-allowed;
1597
  }
1598
 
1599
+ /* Spinner inside the provider Send button */
 
 
1600
  .btn-provider .spinner {
1601
  border: 2px solid rgba(255, 255, 255, 0.35);
1602
  border-top-color: #fff;
1603
  }
1604
 
1605
+ /* Empty state: shown when a list is genuinely empty or no results match
1606
+ filters/search. Intentionally minimal icon, short title, one line. */
1607
+ .empty-state {
1608
+ text-align: center;
1609
+ padding: var(--space-7) var(--space-5);
 
 
1610
  }
1611
 
1612
+ .empty-state-icon {
1613
+ width: 36px;
1614
+ height: 36px;
1615
+ stroke: var(--color-border);
1616
+ margin: 0 auto var(--space-3);
1617
+ display: block;
1618
+ }
1619
 
1620
+ .empty-state-title {
1621
  font-size: var(--text-base);
1622
+ font-weight: 600;
1623
  color: var(--color-text);
1624
+ margin-bottom: var(--space-2);
1625
  }
1626
 
1627
+ .empty-state-body {
1628
+ font-size: var(--text-sm);
1629
+ color: var(--color-text-secondary);
1630
+ margin: 0;
 
1631
  }
1632
 
1633
+ /* Desktop provider: hide Back buttons inside the respond pane.
1634
+ On desktop both panes are always visible (two-column grid), so
1635
+ Back belongs to mobile-only one-at-a-time navigation. */
 
1636
  @media (min-width: 900px) {
1637
  .provider-layout [data-step="respond"] #back-to-list,
1638
  .provider-layout [data-step="respond"] #back-to-list-readonly {
 
1640
  }
1641
  }
1642
 
1643
+ /* Visually-hidden utility: screen-reader-only text, visible to AT
1644
+ but not rendered on screen. */
 
 
1645
  .sr-only {
1646
  position: absolute;
1647
  width: 1px;
 
1654
  border: 0;
1655
  }
1656
 
1657
+ /* Skip link: keyboard users can bypass the header and jump to main
1658
+ content. Visually hidden until focused, rises to the top on Tab. */
 
 
1659
  .skip-link {
1660
  position: absolute;
1661
  top: -40px;