@gyramais/gyra-design 0.2.49 → 0.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/components/Drawer/Drawer.d.ts +25 -1
  2. package/dist/components/Drawer/index.js +7 -7
  3. package/dist/components/Drawer/index.js.map +1 -1
  4. package/dist/components/Modal/Modal.d.ts +11 -1
  5. package/dist/components/Modal/index.js +9 -9
  6. package/dist/components/Modal/index.js.map +1 -1
  7. package/dist/components/PickerPopover/index.js +1 -1
  8. package/dist/components/PickerPopover/index.js.map +1 -1
  9. package/dist/components/Popover/Popover.d.ts +16 -1
  10. package/dist/components/Popover/index.js +1 -1
  11. package/dist/components/Popover/index.js.map +1 -1
  12. package/dist/components/Rail/Rail.d.ts +13 -4
  13. package/dist/components/Rail/RailInlineSelect.d.ts +44 -0
  14. package/dist/components/Rail/RailMini.d.ts +11 -7
  15. package/dist/components/Rail/RailStep.d.ts +8 -13
  16. package/dist/components/Rail/index.d.ts +1 -0
  17. package/dist/components/Rail/index.js +7 -7
  18. package/dist/components/Rail/index.js.map +1 -1
  19. package/dist/components/Rail/labels.d.ts +34 -5
  20. package/dist/components/Rail/types.d.ts +42 -7
  21. package/dist/emails/balance-sheet-finalized/components/Drawer/Drawer.d.ts +25 -1
  22. package/dist/emails/balance-sheet-finalized/components/Modal/Modal.d.ts +11 -1
  23. package/dist/emails/balance-sheet-finalized/components/Popover/Popover.d.ts +16 -1
  24. package/dist/emails/balance-sheet-finalized/components/Rail/Rail.d.ts +13 -4
  25. package/dist/emails/balance-sheet-finalized/components/Rail/RailInlineSelect.d.ts +44 -0
  26. package/dist/emails/balance-sheet-finalized/components/Rail/RailMini.d.ts +11 -7
  27. package/dist/emails/balance-sheet-finalized/components/Rail/RailStep.d.ts +8 -13
  28. package/dist/emails/balance-sheet-finalized/components/Rail/index.d.ts +1 -0
  29. package/dist/emails/balance-sheet-finalized/components/Rail/labels.d.ts +34 -5
  30. package/dist/emails/balance-sheet-finalized/components/Rail/types.d.ts +42 -7
  31. package/dist/emails/email/components/Drawer/Drawer.d.ts +25 -1
  32. package/dist/emails/email/components/Modal/Modal.d.ts +11 -1
  33. package/dist/emails/email/components/Popover/Popover.d.ts +16 -1
  34. package/dist/emails/email/components/Rail/Rail.d.ts +13 -4
  35. package/dist/emails/email/components/Rail/RailInlineSelect.d.ts +44 -0
  36. package/dist/emails/email/components/Rail/RailMini.d.ts +11 -7
  37. package/dist/emails/email/components/Rail/RailStep.d.ts +8 -13
  38. package/dist/emails/email/components/Rail/index.d.ts +1 -0
  39. package/dist/emails/email/components/Rail/labels.d.ts +34 -5
  40. package/dist/emails/email/components/Rail/types.d.ts +42 -7
  41. package/dist/index.css +639 -252
  42. package/package.json +1 -1
package/dist/index.css CHANGED
@@ -732,6 +732,9 @@ video {
732
732
  .max-w-\[500px\] {
733
733
  max-width: 500px;
734
734
  }
735
+ .max-w-full {
736
+ max-width: 100%;
737
+ }
735
738
  .shrink-0 {
736
739
  flex-shrink: 0;
737
740
  }
@@ -755,9 +758,6 @@ video {
755
758
  .flex-col {
756
759
  flex-direction: column;
757
760
  }
758
- .flex-wrap {
759
- flex-wrap: wrap;
760
- }
761
761
  .items-center {
762
762
  align-items: center;
763
763
  }
@@ -776,6 +776,9 @@ video {
776
776
  .gap-3 {
777
777
  gap: 0.75rem;
778
778
  }
779
+ .gap-4 {
780
+ gap: 1rem;
781
+ }
779
782
  .gap-x-1 {
780
783
  -moz-column-gap: 0.25rem;
781
784
  column-gap: 0.25rem;
@@ -889,6 +892,9 @@ video {
889
892
  font-size: 1rem !important;
890
893
  line-height: 1.5rem !important;
891
894
  }
895
+ .text-\[13px\] {
896
+ font-size: 13px;
897
+ }
892
898
  .text-\[16px\] {
893
899
  font-size: 16px;
894
900
  }
@@ -919,9 +925,16 @@ video {
919
925
  .uppercase {
920
926
  text-transform: uppercase;
921
927
  }
928
+ .capitalize {
929
+ text-transform: capitalize;
930
+ }
922
931
  .italic {
923
932
  font-style: italic;
924
933
  }
934
+ .tabular-nums {
935
+ --tw-numeric-spacing: tabular-nums;
936
+ font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
937
+ }
925
938
  .leading-none {
926
939
  line-height: 1;
927
940
  }
@@ -5587,78 +5600,110 @@ h6 {
5587
5600
 
5588
5601
  /* v2 Drawer chrome — flat-first: hairline borders, no soft halo. */
5589
5602
  .gyramais-drawer {
5590
- min-width: 100%;
5591
- max-width: 100%;
5592
- --tw-shadow: 0 0 #0000;
5593
- --tw-shadow-colored: 0 0 #0000;
5594
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
5603
+ min-width: 100%;
5604
+ max-width: 100%;
5605
+ --tw-shadow: 0 0 #0000;
5606
+ --tw-shadow-colored: 0 0 #0000;
5607
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
5595
5608
  }
5596
5609
  @media (min-width: 768px) {
5597
- .gyramais-drawer {
5598
- min-width: 0px;
5599
- max-width: 100%
5600
- }
5610
+ .gyramais-drawer {
5611
+ min-width: 0px;
5612
+ max-width: 100%;
5613
+ }
5601
5614
  }
5602
5615
 
5603
5616
  .gyramais-drawer .gyramais-drawer-container {
5604
- display: flex;
5605
- height: 100%;
5606
- flex-direction: column;
5607
- justify-content: space-between
5617
+ display: flex;
5618
+ height: 100%;
5619
+ flex-direction: column;
5620
+ justify-content: space-between;
5608
5621
  }
5609
5622
 
5610
5623
  .gyramais-drawer .gyramais-drawer-header {
5611
- display: flex;
5612
- align-items: center;
5613
- justify-content: space-between;
5614
- border-bottom-width: 1px;
5615
- border-color: var(--color-border-secondary);
5616
- padding-left: 24px;
5617
- padding-right: 24px;
5618
- padding-top: 20px;
5619
- padding-bottom: 20px
5624
+ display: flex;
5625
+ align-items: center;
5626
+ justify-content: space-between;
5627
+ border-bottom-width: 1px;
5628
+ border-color: var(--color-border-secondary);
5629
+ padding-left: 24px;
5630
+ padding-right: 24px;
5631
+ padding-top: 20px;
5632
+ padding-bottom: 20px;
5620
5633
  }
5621
5634
 
5622
5635
  .gyramais-drawer .gyramais-drawer-title {
5623
- margin: 0px;
5624
- font-size: 18px;
5625
- font-weight: 600;
5626
- color: var(--color-text-primary)
5636
+ margin: 0px;
5637
+ font-size: 18px;
5638
+ font-weight: 600;
5639
+ color: var(--color-text-primary);
5627
5640
  }
5628
5641
  .gyramais-drawer .gyramais-drawer-subtitle {
5629
- margin-top: 0.25rem;
5630
- font-size: 0.875rem;
5631
- line-height: 1.25rem;
5632
- color: var(--color-text-secondary)
5642
+ margin-top: 0.25rem;
5643
+ font-size: 0.875rem;
5644
+ line-height: 1.25rem;
5645
+ color: var(--color-text-secondary);
5633
5646
  }
5634
5647
 
5635
5648
  .gyramais-drawer .gyramais-drawer-content {
5636
- height: 100%;
5637
- overflow-y: auto;
5638
- padding-left: 24px;
5639
- padding-right: 24px;
5640
- padding-top: 20px;
5641
- padding-bottom: 20px
5649
+ height: 100%;
5650
+ overflow-y: auto;
5651
+ padding-left: 24px;
5652
+ padding-right: 24px;
5653
+ padding-top: 20px;
5654
+ padding-bottom: 20px;
5642
5655
  }
5643
5656
 
5644
5657
  .gyramais-drawer .gyramais-drawer-footer {
5645
- border-top-width: 1px;
5646
- border-color: var(--color-border-secondary);
5647
- padding-left: 24px;
5648
- padding-right: 24px;
5649
- padding-top: 20px;
5650
- padding-bottom: 20px
5658
+ border-top-width: 1px;
5659
+ border-color: var(--color-border-secondary);
5660
+ padding-left: 24px;
5661
+ padding-right: 24px;
5662
+ padding-top: 20px;
5663
+ padding-bottom: 20px;
5664
+ }
5665
+
5666
+ /* Botao de fechar de verdade: <button aria-label="Fechar">, focavel pelo
5667
+ teclado, com anel de foco via ::after (o index.css global mata o outline
5668
+ de todo elemento; o pseudo-elemento nao entra nessa regra). A caixa e de
5669
+ 24px, o tamanho que o icone solto ja ocupava, para o cabecalho nao mudar
5670
+ de altura em nenhum consumidor. */
5671
+ .gyramais-drawer .gyramais-drawer-close {
5672
+ position: relative;
5673
+ margin: 0px;
5674
+ display: flex;
5675
+ height: 24px;
5676
+ width: 24px;
5677
+ flex-shrink: 0;
5678
+ cursor: pointer;
5679
+ align-items: center;
5680
+ justify-content: center;
5681
+ border-radius: var(--radius-sm);
5682
+ border-width: 0px;
5683
+ background-color: transparent;
5684
+ padding: 0px;
5685
+ color: var(--color-text-secondary);
5686
+ transition-duration: 150ms;
5687
+ animation-duration: 150ms;
5688
+ }
5689
+ .gyramais-drawer .gyramais-drawer-close:hover {
5690
+ color: var(--color-text-primary);
5691
+ }
5692
+ .gyramais-drawer .gyramais-drawer-close:focus-visible::after {
5693
+ content: "";
5694
+ pointer-events: none;
5695
+ position: absolute;
5696
+ inset: -4px;
5697
+ border-radius: var(--radius-md);
5698
+ border-width: 2px;
5699
+ border-color: var(--gyra-blue);
5651
5700
  }
5652
5701
 
5653
5702
  .gyramais-drawer .gyramais-drawer-close-icon {
5654
- cursor: pointer;
5655
- font-size: 24px;
5656
- color: var(--color-text-secondary);
5657
- transition-duration: 150ms;
5658
- animation-duration: 150ms
5659
- }
5660
- .gyramais-drawer .gyramais-drawer-close-icon:hover {
5661
- color: var(--color-text-primary)
5703
+ cursor: pointer;
5704
+ font-size: 24px;
5705
+ transition-duration: 150ms;
5706
+ animation-duration: 150ms;
5662
5707
  }
5663
5708
 
5664
5709
  /* v2 DropdownMenu chrome — hairline border + subtle elevation, flat items. */
@@ -6985,11 +7030,38 @@ h6 {
6985
7030
  20px;
6986
7031
  }
6987
7032
 
6988
- .gyramais-modal .gyramais-modal-close-icon {
7033
+ /* Botao de fechar de verdade: <button aria-label="Fechar">, focavel pelo
7034
+ teclado, com anel de foco via ::after (o index.css global mata o outline
7035
+ de todo elemento; o pseudo-elemento nao entra nessa regra). A caixa e de
7036
+ 24px, o tamanho que o icone solto ja ocupava, para o cabecalho nao mudar
7037
+ de altura em nenhum consumidor. */
7038
+ .gyramais-modal .gyramais-modal-close {
7039
+ position:
7040
+ relative;
7041
+ margin:
7042
+ 0px;
7043
+ display:
7044
+ flex;
7045
+ height:
7046
+ 24px;
7047
+ width:
7048
+ 24px;
7049
+ flex-shrink:
7050
+ 0;
6989
7051
  cursor:
6990
7052
  pointer;
6991
- font-size:
6992
- 24px;
7053
+ align-items:
7054
+ center;
7055
+ justify-content:
7056
+ center;
7057
+ border-radius:
7058
+ var(--radius-sm);
7059
+ border-width:
7060
+ 0px;
7061
+ background-color:
7062
+ transparent;
7063
+ padding:
7064
+ 0px;
6993
7065
  color:
6994
7066
  var(--color-text-secondary);
6995
7067
  transition-duration:
@@ -6997,10 +7069,42 @@ h6 {
6997
7069
  animation-duration:
6998
7070
  150ms;
6999
7071
  }
7000
- .gyramais-modal .gyramais-modal-close-icon:hover {
7072
+ .gyramais-modal .gyramais-modal-close:hover:not(:disabled) {
7001
7073
  color:
7002
7074
  var(--color-text-primary);
7003
7075
  }
7076
+ .gyramais-modal .gyramais-modal-close:disabled {
7077
+ cursor:
7078
+ not-allowed;
7079
+ opacity:
7080
+ 0.6;
7081
+ }
7082
+ .gyramais-modal .gyramais-modal-close:focus-visible::after {
7083
+ content: "";
7084
+ pointer-events:
7085
+ none;
7086
+ position:
7087
+ absolute;
7088
+ inset:
7089
+ -4px;
7090
+ border-radius:
7091
+ var(--radius-md);
7092
+ border-width:
7093
+ 2px;
7094
+ border-color:
7095
+ var(--gyra-blue);
7096
+ }
7097
+
7098
+ .gyramais-modal .gyramais-modal-close-icon {
7099
+ cursor:
7100
+ pointer;
7101
+ font-size:
7102
+ 24px;
7103
+ transition-duration:
7104
+ 150ms;
7105
+ animation-duration:
7106
+ 150ms;
7107
+ }
7004
7108
 
7005
7109
  @keyframes modal-entry {
7006
7110
  0% {
@@ -7268,9 +7372,13 @@ h6 {
7268
7372
  --tw-text-opacity: 1;
7269
7373
  color: rgb(98 105 118 / var(--tw-text-opacity, 1))
7270
7374
  }
7271
- /* Rail — a esteira Gyra+ (lista vertical de etapas + conector condicional).
7375
+ /* Rail, a esteira Gyra+ (lista vertical de etapas + conector condicional).
7272
7376
  Todas as cores saem dos tokens do design system: nada de hex solto aqui.
7273
7377
 
7378
+ Escala: tipografia 15 (nome) / 13 (linha 2) / 12 (estado, conector, motivo);
7379
+ espacamento em multiplos de 4: padding do cartao 12, gap entre linhas 2,
7380
+ gap entre cartoes 8 (via o conector de 32px: 24 de pilula + 4 + 4).
7381
+
7274
7382
  Armadilha do repositorio: o index.css global tem `* { outline: none
7275
7383
  !important }` e `*:focus { box-shadow: none !important }`. Anel de foco
7276
7384
  desenhado no proprio elemento morre em silencio. Por isso o foco visivel
@@ -7291,82 +7399,109 @@ h6 {
7291
7399
  padding: 0px;
7292
7400
  }
7293
7401
 
7402
+ /* Coluna do trilho: 8px de marcador + 12px de folga ate o cartao. */
7294
7403
  .gyramais-rail-item {
7295
7404
  position: relative;
7296
7405
  display: flex;
7297
7406
  flex-direction: column;
7298
- padding-left: 30px;
7407
+ padding-left: 20px;
7299
7408
  }
7300
7409
 
7301
- /* O trilho: uma linha continua atras de todas as etapas. */
7302
- .gyramais-rail-item::before {
7410
+ /* ---- Trilho: linha de 1px na cor de borda ------------------------------
7411
+ Cada peca (conector, etapa) desenha o seu proprio segmento, assim a linha
7412
+ comeca no marcador da primeira etapa e termina no marcador da ultima. */
7413
+
7414
+ .gyramais-rail-connector::before,
7415
+ .gyramais-rail-step::before {
7303
7416
  content: "";
7304
7417
  position: absolute;
7305
- left: 11px;
7306
- top: 0px;
7307
- bottom: 0px;
7308
- width: 2px;
7309
- background-color: var(--color-border-secondary);
7418
+ left: -16.5px;
7419
+ top: 0;
7420
+ bottom: 0;
7421
+ width: 1px;
7422
+ background: var(--color-border-secondary);
7310
7423
  }
7311
- .gyramais-rail-item:first-child::before {
7312
- top: 26px;
7424
+ .gyramais-rail-item:first-child .gyramais-rail-step::before {
7425
+ top: 23px;
7313
7426
  }
7314
- .gyramais-rail-item:last-child::before {
7427
+ .gyramais-rail-item:last-child .gyramais-rail-step::before {
7315
7428
  bottom: auto;
7316
- height: 26px;
7429
+ height: 23px;
7430
+ }
7431
+ .gyramais-rail-item:first-child:last-child .gyramais-rail-step::before {
7432
+ display: none;
7317
7433
  }
7318
7434
 
7319
- /* ---- Conector ---------------------------------------------------------- */
7435
+ /* ---- Conector (pilula de 24px alinhada ao trilho) ----------------------- */
7320
7436
 
7321
7437
  .gyramais-rail-connector {
7438
+ position: relative;
7322
7439
  display: flex;
7323
- min-height: 12px;
7440
+ min-height: 32px;
7324
7441
  align-items: center;
7325
- gap: 8px;
7326
- padding-top: 6px;
7327
- padding-bottom: 6px;
7328
- }
7329
- .gyramais-rail-item:first-child .gyramais-rail-connector:empty {
7330
- display: none;
7442
+ gap: 6px;
7443
+ padding-top: 4px;
7444
+ padding-bottom: 4px;
7331
7445
  }
7332
7446
 
7333
7447
  .gyramais-rail-gate-editor {
7334
7448
  display: inline-flex;
7335
7449
  }
7336
7450
 
7337
- .gyramais-rail-gate.gyramais-segmented-picker {
7338
- padding-top: 4px;
7339
- padding-bottom: 4px;
7340
- padding-left: 10px;
7341
- padding-right: 10px;
7342
- font-size: 12.5px;
7451
+ /* A pilula editavel e o SegmentedPicker "secondary" com a densidade da
7452
+ esteira: 24px de altura, 12px de texto, 12px de icone. */
7453
+ .gyramais-rail-gate.gyramais-segmented-picker.gyramais-segmented-picker-secondary {
7454
+ height: 24px;
7455
+ gap: 4px;
7456
+ border-radius: 9999px;
7457
+ border-width: 1px;
7458
+ border-color: var(--color-border-secondary);
7459
+ background-color: var(--color-surface-primary);
7460
+ padding-top: 0px;
7461
+ padding-bottom: 0px;
7462
+ padding-left: 6px;
7463
+ padding-right: 6px;
7464
+ font-size: var(--fs-footnote);
7343
7465
  font-weight: 500;
7466
+ line-height: 1;
7467
+ color: var(--color-text-secondary);
7468
+ }
7469
+ .gyramais-rail-gate.gyramais-segmented-picker.gyramais-segmented-picker-secondary:hover {
7470
+ border-color: var(--color-border-primary);
7471
+ background-color: var(--color-surface-secondary);
7472
+ color: var(--color-text-primary);
7473
+ }
7474
+ .gyramais-rail-gate.gyramais-segmented-picker-secondary .gyramais-segmented-picker-icon svg {
7475
+ font-size: 12px;
7476
+ }
7477
+ .gyramais-rail-gate.gyramais-segmented-picker-secondary .gyramais-segmented-picker-chev {
7478
+ margin-left: 0px;
7479
+ font-size: 14px;
7344
7480
  }
7345
7481
 
7346
7482
  .gyramais-rail-gate-static {
7347
7483
  display: inline-flex;
7484
+ height: 24px;
7348
7485
  align-items: center;
7349
- gap: 6px;
7486
+ gap: 4px;
7350
7487
  border-radius: 9999px;
7351
7488
  border-width: 1px;
7352
7489
  border-color: var(--color-border-secondary);
7353
- background-color: var(--color-surface-secondary);
7354
- padding-left: 10px;
7355
- padding-right: 10px;
7356
- padding-top: 3px;
7357
- padding-bottom: 3px;
7358
- font-size: 12.5px;
7490
+ background-color: var(--color-surface-primary);
7491
+ padding-left: 8px;
7492
+ padding-right: 8px;
7493
+ font-size: var(--fs-footnote);
7359
7494
  font-weight: 500;
7495
+ line-height: 1;
7360
7496
  color: var(--color-text-secondary);
7361
7497
  }
7362
7498
  .gyramais-rail-gate-static.is-passed {
7363
- border-color: var(--color-success);
7499
+ border-color: var(--color-success-light);
7364
7500
  background-color: var(--color-success-light);
7365
7501
  color: var(--status-success-text);
7366
7502
  }
7367
7503
  .gyramais-rail-gate-static.is-blocked {
7368
- border-color: var(--color-border-primary);
7369
- background-color: var(--color-surface-secondary);
7504
+ border-style: dashed;
7370
7505
  color: var(--color-text-tertiary);
7371
7506
  }
7372
7507
 
@@ -7381,58 +7516,78 @@ h6 {
7381
7516
 
7382
7517
  /* Acento por condicao, valendo tanto na pilula editavel quanto na estatica. */
7383
7518
  .gyramais-rail-gate.is-approved .gyramais-segmented-picker-icon,
7384
- .gyramais-rail-gate.is-approved.gyramais-rail-gate-static .gyramais-rail-gate-icon {
7519
+ .gyramais-rail-gate.is-approved.gyramais-rail-gate-static:not(.is-blocked) .gyramais-rail-gate-icon {
7385
7520
  color: var(--color-success);
7386
7521
  }
7387
7522
  .gyramais-rail-gate.is-alert .gyramais-segmented-picker-icon,
7388
- .gyramais-rail-gate.is-alert.gyramais-rail-gate-static .gyramais-rail-gate-icon {
7523
+ .gyramais-rail-gate.is-alert.gyramais-rail-gate-static:not(.is-blocked) .gyramais-rail-gate-icon {
7389
7524
  color: var(--color-warning);
7390
7525
  }
7391
7526
  .gyramais-rail-gate.is-reproved .gyramais-segmented-picker-icon,
7392
- .gyramais-rail-gate.is-reproved.gyramais-rail-gate-static .gyramais-rail-gate-icon {
7527
+ .gyramais-rail-gate.is-reproved.gyramais-rail-gate-static:not(.is-blocked) .gyramais-rail-gate-icon {
7393
7528
  color: var(--color-danger);
7394
7529
  }
7530
+ .gyramais-rail-gate-static.is-passed .gyramais-rail-gate-icon {
7531
+ color: var(--status-success-text);
7532
+ }
7395
7533
 
7396
7534
  /* ---- Inserir / adicionar etapa ----------------------------------------- */
7397
7535
 
7398
- .gyramais-rail-insert,
7399
- .gyramais-rail-add {
7536
+ /* O "+" entre etapas so aparece quando o conector esta em hover ou com foco:
7537
+ e uma acao secundaria e nao precisa competir com a pilula. */
7538
+ .gyramais-rail-insert {
7400
7539
  position: relative;
7401
7540
  display: inline-flex;
7541
+ height: 20px;
7542
+ width: 20px;
7402
7543
  cursor: pointer;
7403
7544
  align-items: center;
7404
7545
  justify-content: center;
7405
- gap: 6px;
7546
+ border-radius: 9999px;
7406
7547
  border-width: 1px;
7407
7548
  border-style: dashed;
7408
7549
  border-color: var(--color-border-primary);
7409
7550
  background-color: var(--color-surface-primary);
7410
7551
  color: var(--color-text-tertiary);
7411
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
7552
+ opacity: 0;
7553
+ transition-property: opacity;
7412
7554
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
7413
- transition-duration: 200ms;
7414
- animation-duration: 200ms;
7555
+ transition-duration: 150ms;
7556
+ animation-duration: 150ms;
7415
7557
  }
7416
-
7417
- .gyramais-rail-insert {
7418
- height: 22px;
7419
- width: 22px;
7420
- flex-shrink: 0;
7421
- border-radius: 9999px;
7558
+ .gyramais-rail-connector:hover .gyramais-rail-insert,
7559
+ .gyramais-rail-connector:focus-within .gyramais-rail-insert,
7560
+ .gyramais-rail-insert:focus-visible {
7561
+ opacity: 1;
7562
+ }
7563
+ @media (hover: none) {
7564
+ .gyramais-rail-insert {
7565
+ opacity: 1;
7566
+ }
7422
7567
  }
7423
7568
 
7424
7569
  .gyramais-rail-add {
7425
- margin-left: 30px;
7426
- margin-top: 10px;
7570
+ position: relative;
7571
+ margin-left: 20px;
7572
+ margin-top: 4px;
7573
+ display: inline-flex;
7574
+ height: 28px;
7575
+ cursor: pointer;
7576
+ align-items: center;
7577
+ gap: 6px;
7427
7578
  align-self: flex-start;
7428
- border-radius: var(--radius-md);
7429
- padding-left: 14px;
7430
- padding-right: 14px;
7431
- padding-top: 7px;
7432
- padding-bottom: 7px;
7433
- font-size: 13px;
7579
+ border-radius: var(--radius-sm);
7580
+ border-width: 0px;
7581
+ background-color: transparent;
7582
+ padding-left: 8px;
7583
+ padding-right: 8px;
7584
+ font-size: var(--fs-subheadline);
7434
7585
  font-weight: 500;
7435
7586
  color: var(--color-text-secondary);
7587
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
7588
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
7589
+ transition-duration: 150ms;
7590
+ animation-duration: 150ms;
7436
7591
  }
7437
7592
 
7438
7593
  .gyramais-rail-insert:hover,
@@ -7446,8 +7601,10 @@ h6 {
7446
7601
  .gyramais-rail-add:focus-visible::after,
7447
7602
  .gyramais-rail-step:focus-visible::after,
7448
7603
  .gyramais-rail-leaf:focus-visible::after,
7604
+ .gyramais-rail-leaves-toggle:focus-visible::after,
7449
7605
  .gyramais-rail-step-open:focus-visible::after,
7450
- .gyramais-rail-step-action:focus-visible::after {
7606
+ .gyramais-rail-step-action:focus-visible::after,
7607
+ .gyramais-rail-inline-select:focus-visible::after {
7451
7608
  content: "";
7452
7609
  pointer-events: none;
7453
7610
  position: absolute;
@@ -7460,181 +7617,362 @@ h6 {
7460
7617
  .gyramais-rail-step-action:focus-visible::after {
7461
7618
  border-radius: 9999px;
7462
7619
  }
7620
+ .gyramais-rail-inline-select:focus-visible::after,
7621
+ .gyramais-rail-leaves-toggle:focus-visible::after,
7622
+ .gyramais-rail-step-open:focus-visible::after {
7623
+ inset: -2px;
7624
+ border-radius: var(--radius-sm);
7625
+ }
7463
7626
 
7464
7627
  /* ---- Etapa ------------------------------------------------------------- */
7465
7628
 
7466
7629
  .gyramais-rail-step {
7467
7630
  position: relative;
7468
- padding-bottom: 6px;
7469
7631
  }
7470
7632
 
7633
+ /* Marcador de 8px sobre o trilho, centrado na linha 1 do cartao
7634
+ (1px de borda + 12px de padding + (20px de linha - 8px) / 2 = 19px). */
7471
7635
  .gyramais-rail-node {
7472
7636
  position: absolute;
7473
- left: -26px;
7474
- top: 20px;
7475
- height: 16px;
7476
- width: 16px;
7477
- border-radius: 9999px;
7478
- border-width: 2px;
7637
+ left: -20px;
7638
+ top: 19px;
7639
+ z-index: 1;
7640
+ height: 8px;
7641
+ width: 8px;
7642
+ border-radius: 9999px;
7643
+ border-width: 1px;
7479
7644
  border-color: var(--color-border-strong);
7480
7645
  background-color: var(--color-surface-primary);
7481
7646
  }
7482
- .gyramais-rail-node.is-running {
7647
+ .gyramais-rail-edit .gyramais-rail-node {
7648
+ border-color: var(--color-gray-300);
7649
+ background-color: var(--color-gray-300);
7650
+ }
7651
+ .gyramais-rail-node.is-info {
7483
7652
  border-color: var(--gyra-blue);
7484
- background-color: var(--gyra-blue-light);
7653
+ background-color: var(--gyra-blue);
7485
7654
  }
7486
- .gyramais-rail-node.is-done {
7655
+ .gyramais-rail-node.is-success {
7487
7656
  border-color: var(--color-success);
7488
- background-color: var(--color-success-light);
7657
+ background-color: var(--color-success);
7489
7658
  }
7490
- .gyramais-rail-node.is-waiting {
7659
+ .gyramais-rail-node.is-warning {
7491
7660
  border-color: var(--color-warning);
7492
- background-color: var(--color-warning-light);
7661
+ background-color: var(--color-warning);
7493
7662
  }
7494
- .gyramais-rail-node.is-error {
7663
+ .gyramais-rail-node.is-danger {
7495
7664
  border-color: var(--color-danger);
7496
- background-color: var(--color-danger-light);
7665
+ background-color: var(--color-danger);
7666
+ }
7667
+ .gyramais-rail-node.is-neutral {
7668
+ border-color: var(--color-border-strong);
7669
+ background-color: var(--color-surface-primary);
7497
7670
  }
7498
7671
  .gyramais-rail-node.is-skipped {
7499
7672
  border-color: var(--color-border-primary);
7500
- background-color: var(--color-surface-secondary);
7673
+ background-color: var(--color-surface-primary);
7501
7674
  }
7502
7675
 
7503
- .gyramais-rail-step .gyramais-rail-step-card {
7676
+ /* O Card do design system como contentor (borda, raio, fundo), com a
7677
+ densidade da esteira. O header do Card nao e usado: a anatomia de duas
7678
+ linhas e o conteudo. */
7679
+ .gyramais-rail-step-card.gyramais-card {
7680
+ border-radius: var(--radius-md);
7681
+ padding: 12px;
7504
7682
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
7505
7683
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
7506
- transition-duration: 200ms;
7507
- animation-duration: 200ms;
7684
+ transition-duration: 150ms;
7685
+ animation-duration: 150ms;
7686
+ }
7687
+ .gyramais-rail-step-card.gyramais-card .gyramais-card-content {
7688
+ position: static;
7689
+ }
7690
+ .gyramais-rail-step:hover .gyramais-rail-step-card.gyramais-card {
7691
+ border-color: var(--color-border-primary);
7508
7692
  }
7509
- .gyramais-rail-step.is-active .gyramais-rail-step-card,
7510
- .gyramais-rail-step.is-selected .gyramais-rail-step-card {
7693
+ .gyramais-rail-step.is-active .gyramais-rail-step-card.gyramais-card,
7694
+ .gyramais-rail-step.is-selected .gyramais-rail-step-card.gyramais-card {
7511
7695
  border-color: var(--gyra-blue);
7696
+ }
7697
+ .gyramais-rail-step.is-selected .gyramais-rail-step-card.gyramais-card {
7512
7698
  background-color: var(--gyra-blue-subtle);
7513
7699
  }
7514
7700
 
7515
7701
  /* Etapa que nao disparou: cartao translucido. O motivo NAO entra aqui,
7516
7702
  fica fora do cartao, em contraste cheio. */
7517
- .gyramais-rail-step.is-skipped .gyramais-rail-step-card {
7703
+ .gyramais-rail-step.is-skipped .gyramais-rail-step-card.gyramais-card {
7518
7704
  border-style: dashed;
7519
- opacity: 0.55;
7705
+ opacity: 0.5;
7520
7706
  }
7521
- .gyramais-rail-step.is-disabled .gyramais-rail-step-card {
7707
+ .gyramais-rail-step.is-disabled .gyramais-rail-step-card.gyramais-card {
7522
7708
  opacity: 0.6;
7523
7709
  }
7524
7710
 
7711
+ .gyramais-rail-step-row {
7712
+ display: flex;
7713
+ align-items: flex-start;
7714
+ gap: 10px;
7715
+ }
7716
+
7717
+ /* Glifo do tipo: chip neutro de 24px. O tipo vive aqui e no tooltip, nunca
7718
+ como texto no cartao. */
7525
7719
  .gyramais-rail-step-glyph {
7526
7720
  display: inline-flex;
7527
- height: 32px;
7528
- width: 32px;
7721
+ height: 24px;
7722
+ width: 24px;
7723
+ flex-shrink: 0;
7529
7724
  align-items: center;
7530
7725
  justify-content: center;
7531
- border-radius: var(--radius-md);
7726
+ border-radius: var(--radius-sm);
7727
+ background-color: var(--color-gray-50);
7728
+ color: var(--color-text-secondary);
7729
+ margin-top: -2px;
7730
+ }
7731
+ .gyramais-rail-step.is-active .gyramais-rail-step-glyph {
7532
7732
  background-color: var(--gyra-blue-light);
7533
- font-size: 15px;
7534
- line-height: 1;
7535
7733
  color: var(--gyra-blue);
7536
7734
  }
7537
- .gyramais-rail-step.is-checkpoint .gyramais-rail-step-glyph {
7538
- background-color: var(--color-warning-light);
7539
- color: var(--color-warning);
7540
- }
7541
- .gyramais-rail-step.is-relationships .gyramais-rail-step-glyph {
7542
- background-color: var(--gyra-teal-light);
7543
- color: var(--gyra-teal);
7735
+
7736
+ .gyramais-rail-step-main {
7737
+ display: flex;
7738
+ min-width: 0px;
7739
+ flex: 1 1 0%;
7740
+ flex-direction: column;
7741
+ gap: 2px;
7544
7742
  }
7545
7743
 
7546
- .gyramais-rail-step-title {
7547
- display: inline-flex;
7744
+ .gyramais-rail-step-line1 {
7745
+ display: flex;
7746
+ min-height: 20px;
7747
+ min-width: 0px;
7548
7748
  align-items: center;
7549
- gap: 6px;
7550
- font-family: var(--font-display);
7749
+ gap: 8px;
7551
7750
  }
7552
7751
 
7553
7752
  .gyramais-rail-step-name {
7753
+ display: block;
7754
+ overflow: hidden;
7755
+ text-overflow: ellipsis;
7756
+ white-space: nowrap;
7757
+ font-size: var(--fs-body);
7758
+ font-weight: 600;
7759
+ line-height: 20px;
7760
+ letter-spacing: var(--tracking-normal);
7554
7761
  color: var(--color-text-primary);
7555
7762
  }
7556
7763
 
7557
7764
  .gyramais-rail-step-open {
7558
7765
  position: relative;
7559
7766
  display: inline-flex;
7767
+ min-width: 0px;
7560
7768
  cursor: pointer;
7561
7769
  align-items: center;
7562
- gap: 5px;
7770
+ gap: 4px;
7563
7771
  border-width: 0px;
7564
7772
  background-color: transparent;
7565
7773
  padding: 0px;
7566
- color: var(--color-text-primary);
7567
7774
  text-decoration-line: none;
7568
7775
  font-family: inherit;
7569
- font-size: inherit;
7570
- font-weight: inherit;
7571
7776
  }
7572
- .gyramais-rail-step-open:hover {
7777
+ .gyramais-rail-step-open:hover .gyramais-rail-step-name {
7573
7778
  color: var(--gyra-blue);
7574
- text-decoration-line: underline;
7575
7779
  }
7576
-
7577
7780
  .gyramais-rail-step-open-icon {
7578
- color: var(--color-text-tertiary);
7781
+ flex-shrink: 0;
7782
+ color: var(--color-text-quaternary);
7579
7783
  }
7580
7784
 
7581
- .gyramais-rail-step-subtitle {
7785
+ .gyramais-rail-step-meta {
7582
7786
  display: inline-flex;
7583
- flex-wrap: wrap;
7787
+ flex-shrink: 0;
7584
7788
  align-items: center;
7585
- gap: 6px;
7789
+ gap: 4px;
7790
+ }
7791
+ /* Tag do design system, na densidade de um chip de 20px. */
7792
+ .gyramais-rail-step-meta .gyramais-tag {
7793
+ height: 20px;
7794
+ border-radius: var(--radius-xs);
7795
+ border-color: var(--color-border-subtle);
7796
+ background-color: var(--color-gray-50);
7797
+ padding-left: 6px;
7798
+ padding-right: 6px;
7799
+ padding-top: 0px;
7800
+ padding-bottom: 0px;
7801
+ }
7802
+ .gyramais-rail-step-meta .gyramais-tag .gyramais-tag-content {
7803
+ font-size: var(--fs-footnote);
7804
+ line-height: 18px;
7586
7805
  color: var(--color-text-secondary);
7587
7806
  }
7807
+ .gyramais-rail-step-meta .gyramais-tag .gyramais-tag-icon {
7808
+ margin-right: 4px;
7809
+ --tw-scale-x: 1;
7810
+ --tw-scale-y: 1;
7811
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
7812
+ }
7588
7813
 
7589
- .gyramais-rail-step-kind {
7590
- font-weight: 600;
7591
- text-transform: uppercase;
7592
- letter-spacing: var(--tracking-wide);
7593
- color: var(--fs-caption);
7594
- color: var(--color-text-tertiary);
7814
+ .gyramais-rail-step-line2 {
7815
+ display: flex;
7816
+ min-height: 18px;
7817
+ min-width: 0px;
7818
+ align-items: center;
7595
7819
  }
7596
7820
 
7597
- .gyramais-rail-step-dot {
7598
- color: var(--color-text-quaternary);
7821
+ .gyramais-rail-step-text {
7822
+ font-size: var(--fs-subheadline);
7823
+ line-height: 18px;
7824
+ color: var(--color-text-secondary);
7599
7825
  }
7600
7826
 
7601
- /* O resto do subtitulo (separador + texto) e UM item do flex: assim o "·"
7602
- quebra de linha junto com a primeira palavra que ele separa, em vez de
7603
- ficar pendurado sozinho no fim da linha de cima. */
7604
- .gyramais-rail-step-subtitle-rest {
7827
+ /* Seletor inline: texto + chevron no corpo do texto, sem borda. O padding
7828
+ horizontal e compensado por uma margem negativa para o texto alinhar
7829
+ com o nome da etapa. */
7830
+ /* Largura: o gatilho ocupa o que o texto pede e so encolhe (com
7831
+ reticencias) quando a linha de fato nao o comporta. `min-w-0` deixa o
7832
+ flex encolher; NAO usar `max-w-full`: com a margem negativa de 6px, um
7833
+ invólucro shrink-to-fit (o `span` do toolbox em volta do gatilho) mede a
7834
+ caixa de margem, e 100% dela e 6px menos que o proprio conteudo, o que
7835
+ truncava toda politica por 6px com meio cartao vazio (E2 do guard). */
7836
+ .gyramais-rail-inline-select {
7837
+ position: relative;
7838
+ margin-left: -6px;
7839
+ display: inline-flex;
7840
+ height: 20px;
7605
7841
  min-width: 0px;
7842
+ cursor: pointer;
7843
+ align-items: center;
7844
+ gap: 2px;
7845
+ border-radius: var(--radius-sm);
7846
+ border-width: 0px;
7847
+ background-color: transparent;
7848
+ padding-left: 6px;
7849
+ padding-right: 4px;
7850
+ font-size: var(--fs-subheadline);
7851
+ font-weight: 500;
7852
+ line-height: 18px;
7853
+ color: var(--color-text-primary);
7854
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
7855
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
7856
+ transition-duration: 150ms;
7857
+ animation-duration: 150ms;
7858
+ font-family: inherit;
7859
+ }
7860
+ .gyramais-rail-inline-select:hover:not(:disabled) {
7861
+ background-color: var(--color-surface-active);
7862
+ }
7863
+ .gyramais-rail-inline-select:disabled {
7864
+ cursor: not-allowed;
7865
+ opacity: 0.6;
7866
+ }
7867
+ .gyramais-rail-inline-select.is-placeholder {
7868
+ font-weight: 400;
7869
+ color: var(--color-text-tertiary);
7870
+ }
7871
+ .gyramais-rail-inline-select.is-warning {
7872
+ color: var(--status-warning-text);
7873
+ }
7874
+ .gyramais-rail-inline-select-text {
7875
+ overflow: hidden;
7876
+ text-overflow: ellipsis;
7877
+ white-space: nowrap;
7878
+ }
7879
+ .gyramais-rail-inline-select-chevron {
7880
+ flex-shrink: 0;
7881
+ color: var(--color-text-tertiary);
7606
7882
  }
7607
7883
 
7608
- .gyramais-rail-step-header-right {
7884
+ .gyramais-rail-step-side {
7609
7885
  display: flex;
7610
- flex-wrap: wrap;
7886
+ min-height: 20px;
7887
+ flex-shrink: 0;
7611
7888
  align-items: center;
7612
- justify-content: flex-end;
7613
7889
  gap: 8px;
7614
7890
  }
7615
7891
 
7892
+ /* Estado: ponto de 6px + texto de 12px. A cor mora no ponto. */
7893
+ .gyramais-rail-status {
7894
+ display: inline-flex;
7895
+ align-items: center;
7896
+ gap: 6px;
7897
+ white-space: nowrap;
7898
+ font-size: var(--fs-footnote);
7899
+ line-height: 16px;
7900
+ color: var(--color-text-secondary);
7901
+ }
7902
+ .gyramais-rail-status-dot {
7903
+ height: 6px;
7904
+ width: 6px;
7905
+ flex-shrink: 0;
7906
+ border-radius: 9999px;
7907
+ background-color: var(--color-gray-300);
7908
+ }
7909
+ .gyramais-rail-status.is-info .gyramais-rail-status-dot {
7910
+ background-color: var(--gyra-blue);
7911
+ }
7912
+ .gyramais-rail-status.is-success .gyramais-rail-status-dot {
7913
+ background-color: var(--color-success);
7914
+ }
7915
+ .gyramais-rail-status.is-warning .gyramais-rail-status-dot {
7916
+ background-color: var(--color-warning);
7917
+ }
7918
+ .gyramais-rail-status.is-danger .gyramais-rail-status-dot {
7919
+ background-color: var(--color-danger);
7920
+ }
7921
+ .gyramais-rail-status.is-warning .gyramais-rail-status-label {
7922
+ color: var(--status-warning-text);
7923
+ }
7924
+ .gyramais-rail-status.is-danger .gyramais-rail-status-label {
7925
+ color: var(--status-danger-text);
7926
+ }
7927
+
7928
+ /* O botao do consumer ("Decidir"), na densidade da linha. */
7929
+ .gyramais-rail-step-actions .gyramais-button.gyramais-button-small {
7930
+ height: 24px;
7931
+ padding-left: 10px;
7932
+ padding-right: 10px;
7933
+ padding-top: 0px;
7934
+ padding-bottom: 0px;
7935
+ font-size: var(--fs-footnote);
7936
+ }
7937
+
7938
+ /* Ordenar/remover: so no hover e no foco. */
7616
7939
  .gyramais-rail-step-toolbar {
7617
7940
  display: flex;
7618
7941
  align-items: center;
7619
7942
  gap: 2px;
7943
+ opacity: 0;
7944
+ transition-property: opacity;
7945
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
7946
+ transition-duration: 150ms;
7947
+ animation-duration: 150ms;
7948
+ }
7949
+ .gyramais-rail-step:hover .gyramais-rail-step-toolbar,
7950
+ .gyramais-rail-step:focus-within .gyramais-rail-step-toolbar,
7951
+ .gyramais-rail-step.is-selected .gyramais-rail-step-toolbar {
7952
+ opacity: 1;
7953
+ }
7954
+ @media (hover: none) {
7955
+ .gyramais-rail-step-toolbar {
7956
+ opacity: 1;
7957
+ }
7620
7958
  }
7621
7959
 
7622
7960
  .gyramais-rail-step-action {
7623
7961
  position: relative;
7624
7962
  display: inline-flex;
7625
- height: 26px;
7626
- width: 26px;
7963
+ height: 24px;
7964
+ width: 24px;
7627
7965
  cursor: pointer;
7628
7966
  align-items: center;
7629
7967
  justify-content: center;
7630
- border-radius: 9999px;
7968
+ border-radius: var(--radius-sm);
7631
7969
  border-width: 0px;
7632
7970
  background-color: transparent;
7633
7971
  color: var(--color-text-tertiary);
7634
7972
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
7635
7973
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
7636
- transition-duration: 200ms;
7637
- animation-duration: 200ms;
7974
+ transition-duration: 150ms;
7975
+ animation-duration: 150ms;
7638
7976
  }
7639
7977
  .gyramais-rail-step-action:hover:not(:disabled) {
7640
7978
  background-color: var(--color-surface-active);
@@ -7645,60 +7983,98 @@ h6 {
7645
7983
  }
7646
7984
  .gyramais-rail-step-action:disabled {
7647
7985
  cursor: not-allowed;
7648
- opacity: 0.35;
7986
+ opacity: 0.3;
7649
7987
  }
7650
7988
 
7651
7989
  .gyramais-rail-step-content {
7990
+ margin-top: 8px;
7652
7991
  display: flex;
7653
7992
  flex-direction: column;
7654
- gap: 10px;
7655
- color: var(--fs-callout);
7993
+ gap: 8px;
7994
+ font-size: var(--fs-subheadline);
7656
7995
  color: var(--color-text-secondary);
7657
7996
  }
7658
7997
 
7659
7998
  /* O motivo de a etapa nao ter disparado. Fora do cartao translucido de
7660
7999
  proposito: e a informacao que precisa ser lida. */
7661
8000
  .gyramais-rail-step-reason {
7662
- margin-top: 6px;
8001
+ margin-top: 4px;
7663
8002
  margin-bottom: 0px;
7664
8003
  display: flex;
7665
8004
  align-items: flex-start;
7666
- gap: 6px;
7667
- border-left-width: 2px;
7668
- border-color: var(--color-border-primary);
7669
- padding-left: 10px;
7670
- line-height: var(--lh-normal);
7671
- color: var(--fs-footnote);
8005
+ gap: 8px;
8006
+ padding-left: 12px;
8007
+ font-size: var(--fs-footnote);
8008
+ line-height: 16px;
7672
8009
  color: var(--color-text-secondary);
7673
8010
  }
8011
+ .gyramais-rail-step-reason-mark {
8012
+ margin-top: 5px;
8013
+ height: 6px;
8014
+ width: 6px;
8015
+ flex-shrink: 0;
8016
+ border-radius: 9999px;
8017
+ background-color: var(--color-gray-300);
8018
+ }
7674
8019
  .gyramais-rail-step.is-error .gyramais-rail-step-reason {
7675
- border-color: var(--color-danger);
7676
8020
  color: var(--status-danger-text);
7677
8021
  }
8022
+ .gyramais-rail-step.is-error .gyramais-rail-step-reason-mark {
8023
+ background-color: var(--color-danger);
8024
+ }
7678
8025
 
7679
8026
  /* ---- Folhas (relatorios derivados dos vinculos) ------------------------ */
7680
8027
 
7681
8028
  .gyramais-rail-leaves {
7682
- margin-top: 10px;
8029
+ margin-top: 8px;
7683
8030
  display: flex;
7684
8031
  flex-direction: column;
7685
- gap: 6px;
7686
8032
  }
7687
8033
 
7688
- .gyramais-rail-leaves-label {
7689
- font-weight: 600;
7690
- text-transform: uppercase;
7691
- letter-spacing: var(--tracking-wide);
7692
- color: var(--fs-caption);
8034
+ .gyramais-rail-leaves-toggle {
8035
+ position: relative;
8036
+ margin-left: -4px;
8037
+ display: inline-flex;
8038
+ height: 20px;
8039
+ cursor: pointer;
8040
+ align-items: center;
8041
+ gap: 2px;
8042
+ align-self: flex-start;
8043
+ border-radius: var(--radius-sm);
8044
+ border-width: 0px;
8045
+ background-color: transparent;
8046
+ padding-left: 4px;
8047
+ padding-right: 4px;
8048
+ font-size: var(--fs-footnote);
8049
+ font-weight: 500;
8050
+ color: var(--color-text-secondary);
8051
+ font-family: inherit;
8052
+ }
8053
+ .gyramais-rail-leaves-toggle:hover {
8054
+ background-color: var(--color-surface-active);
8055
+ color: var(--color-text-primary);
8056
+ }
8057
+ .gyramais-rail-leaves-chevron {
8058
+ --tw-rotate: -90deg;
8059
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
7693
8060
  color: var(--color-text-tertiary);
8061
+ transition-property: transform;
8062
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
8063
+ transition-duration: 150ms;
8064
+ animation-duration: 150ms;
8065
+ }
8066
+ .gyramais-rail-leaves-chevron.is-open {
8067
+ --tw-rotate: 0deg;
8068
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
7694
8069
  }
7695
8070
 
7696
8071
  .gyramais-rail-leaves-list {
7697
8072
  margin: 0px;
8073
+ margin-top: 4px;
7698
8074
  display: flex;
7699
8075
  list-style-type: none;
7700
8076
  flex-direction: column;
7701
- gap: 4px;
8077
+ gap: 2px;
7702
8078
  padding: 0px;
7703
8079
  }
7704
8080
 
@@ -7708,31 +8084,33 @@ h6 {
7708
8084
 
7709
8085
  .gyramais-rail-leaf {
7710
8086
  position: relative;
8087
+ margin-left: -8px;
8088
+ margin-right: -8px;
7711
8089
  display: flex;
7712
8090
  width: 100%;
8091
+ min-width: 0px;
7713
8092
  flex: 1 1 0%;
7714
8093
  cursor: pointer;
7715
8094
  align-items: center;
7716
8095
  justify-content: space-between;
7717
- gap: 10px;
7718
- border-radius: var(--radius-md);
7719
- border-width: 1px;
7720
- border-color: var(--color-border-subtle);
7721
- background-color: var(--color-surface-secondary);
7722
- padding-left: 12px;
7723
- padding-right: 12px;
7724
- padding-top: 8px;
7725
- padding-bottom: 8px;
8096
+ gap: 8px;
8097
+ border-radius: var(--radius-sm);
8098
+ border-width: 0px;
8099
+ background-color: transparent;
8100
+ padding-left: 8px;
8101
+ padding-right: 8px;
8102
+ padding-top: 6px;
8103
+ padding-bottom: 6px;
7726
8104
  text-align: left;
7727
8105
  text-decoration-line: none;
7728
8106
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
7729
8107
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
7730
- transition-duration: 200ms;
7731
- animation-duration: 200ms;
8108
+ transition-duration: 150ms;
8109
+ animation-duration: 150ms;
8110
+ font-family: inherit;
7732
8111
  }
7733
8112
  .gyramais-rail-leaf:hover:not(:disabled) {
7734
- border-color: var(--gyra-blue);
7735
- background-color: var(--gyra-blue-subtle);
8113
+ background-color: var(--color-surface-active);
7736
8114
  }
7737
8115
  .gyramais-rail-leaf:disabled {
7738
8116
  cursor: default;
@@ -7741,25 +8119,29 @@ h6 {
7741
8119
 
7742
8120
  .gyramais-rail-leaf-text {
7743
8121
  display: flex;
8122
+ min-width: 0px;
7744
8123
  flex-wrap: wrap;
7745
8124
  align-items: baseline;
7746
- gap: 8px;
8125
+ -moz-column-gap: 8px;
8126
+ column-gap: 8px;
8127
+ row-gap: 0px;
7747
8128
  }
7748
8129
 
7749
8130
  .gyramais-rail-leaf-title {
8131
+ font-size: var(--fs-subheadline);
7750
8132
  font-weight: 500;
7751
- color: var(--fs-callout);
8133
+ line-height: 18px;
7752
8134
  color: var(--color-text-primary);
7753
8135
  }
7754
8136
 
7755
8137
  .gyramais-rail-leaf-document {
7756
- color: var(--fs-footnote);
8138
+ font-size: var(--fs-footnote);
7757
8139
  color: var(--color-text-secondary);
7758
- font-family: var(--font-mono);
8140
+ font-variant-numeric: tabular-nums;
7759
8141
  }
7760
8142
 
7761
8143
  .gyramais-rail-leaf-subtitle {
7762
- color: var(--fs-footnote);
8144
+ font-size: var(--fs-footnote);
7763
8145
  color: var(--color-text-tertiary);
7764
8146
  }
7765
8147
 
@@ -7773,23 +8155,24 @@ h6 {
7773
8155
  display: flex;
7774
8156
  flex-direction: column;
7775
8157
  align-items: flex-start;
7776
- gap: 10px;
7777
- border-radius: var(--radius-lg);
8158
+ gap: 8px;
8159
+ border-radius: var(--radius-md);
7778
8160
  border-width: 1px;
7779
8161
  border-style: dashed;
7780
8162
  border-color: var(--color-border-primary);
7781
8163
  background-color: var(--color-surface-secondary);
7782
- padding: 20px;
8164
+ padding: 16px;
7783
8165
  }
7784
8166
 
7785
8167
  .gyramais-rail-empty-text {
7786
8168
  margin: 0px;
7787
- color: var(--fs-callout);
8169
+ font-size: var(--fs-subheadline);
8170
+ line-height: 18px;
7788
8171
  color: var(--color-text-secondary);
7789
8172
  }
7790
8173
  .gyramais-rail-empty .gyramais-rail-add {
7791
- margin-left: 0px;
7792
8174
  margin-top: 0px;
8175
+ margin-left: -8px;
7793
8176
  }
7794
8177
 
7795
8178
  /* ---- Somente leitor de tela -------------------------------------------- */
@@ -7806,32 +8189,37 @@ h6 {
7806
8189
  clip: rect(0, 0, 0, 0);
7807
8190
  }
7808
8191
 
7809
- @media (max-width: 768px) {
7810
- .gyramais-rail-step-header-right {
7811
- justify-content: flex-start;
7812
- }
7813
- }
7814
-
7815
8192
  /* ---- Miniatura (RailMini) ---------------------------------------------
7816
- A esteira do tamanho de uma linha de lista: uma marca por etapa, ligadas
7817
- por um fio, mais o resumo em texto. As cores sao as mesmas do modo run. */
8193
+ A esteira do tamanho de uma celula de lista: uma bolinha de 6px por etapa,
8194
+ ligadas por um fio de 1px, no maximo ~120px. As cores sao as do modo run. */
7818
8195
 
7819
8196
  .gyramais-rail-mini {
7820
8197
  display: inline-flex;
7821
- max-width: 100%;
8198
+ max-width: 120px;
7822
8199
  align-items: center;
7823
- gap: 3px;
8200
+ gap: 6px;
7824
8201
  vertical-align: middle;
7825
8202
  }
7826
8203
 
8204
+ .gyramais-rail-mini.with-summary {
8205
+ max-width: 100%;
8206
+ }
8207
+
8208
+ .gyramais-rail-mini-track {
8209
+ display: inline-flex;
8210
+ min-width: 0px;
8211
+ align-items: center;
8212
+ overflow: hidden;
8213
+ }
8214
+
7827
8215
  .gyramais-rail-mini-mark {
7828
- height: 8px;
7829
- width: 8px;
8216
+ height: 6px;
8217
+ width: 6px;
7830
8218
  flex-shrink: 0;
7831
8219
  border-radius: 9999px;
7832
8220
  border-width: 1px;
7833
8221
  border-color: transparent;
7834
- background-color: var(--color-gray-200);
8222
+ background-color: var(--color-gray-300);
7835
8223
  }
7836
8224
  .gyramais-rail-mini-mark.is-approved {
7837
8225
  background-color: var(--color-success);
@@ -7851,28 +8239,27 @@ h6 {
7851
8239
  }
7852
8240
  .gyramais-rail-mini-mark.is-waiting {
7853
8241
  background-color: var(--color-warning);
7854
- opacity: 0.55;
7855
8242
  }
7856
- /* Etapa que NAO rodou fica oca: e o vocabulario da tela ("não executou"). */
8243
+ /* Etapa que NAO rodou fica oca: e o vocabulario da tela ("não rodou"). */
7857
8244
  .gyramais-rail-mini-mark.is-skipped,
7858
8245
  .gyramais-rail-mini-mark.is-pending {
7859
- border-color: var(--color-border-secondary);
8246
+ border-color: var(--color-border-strong);
7860
8247
  background-color: transparent;
7861
8248
  }
7862
8249
 
8250
+ /* O fio encolhe antes de a fileira estourar os 120px. */
7863
8251
  .gyramais-rail-mini-link {
7864
8252
  height: 1px;
7865
- width: 6px;
7866
- flex-shrink: 0;
7867
- background-color: var(--color-border-secondary);
8253
+ background-color: var(--color-border-primary);
8254
+ flex: 0 1 6px;
8255
+ min-width: 2px;
7868
8256
  }
7869
8257
 
7870
8258
  .gyramais-rail-mini-text {
7871
- margin-left: 6px;
7872
8259
  overflow: hidden;
7873
8260
  text-overflow: ellipsis;
7874
8261
  white-space: nowrap;
7875
- color: var(--fs-caption);
8262
+ font-size: var(--fs-footnote);
7876
8263
  color: var(--color-text-tertiary);
7877
8264
  }
7878
8265