Modal.module.css 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /* Full-viewport layer (figma Mask + Dialog 451:18655): mask + centered card. */
  2. .root {
  3. position: fixed;
  4. inset: 0;
  5. z-index: 1000;
  6. display: flex;
  7. align-items: center;
  8. justify-content: center;
  9. padding: 24px;
  10. }
  11. /* User/spec mask: rgba(0,0,0,0.24) + blur(2px) via --dsw-alias-bg-mask-1 /
  12. --dsw-mask-blur (light); dark theme raises mask opacity. */
  13. .mask {
  14. position: absolute;
  15. inset: 0;
  16. background: var(--dsw-alias-bg-mask-1);
  17. backdrop-filter: var(--dsw-mask-blur);
  18. }
  19. /* Dialog card: r24, shadow-lv3, layer-2 fill, inverted border, pb 24. */
  20. .dialog {
  21. position: relative;
  22. z-index: 1;
  23. display: flex;
  24. flex-direction: column;
  25. gap: 20px;
  26. width: min(380px, 100%);
  27. padding: 0 0 24px;
  28. overflow: hidden;
  29. border: 1px solid var(--dsw-alias-border-inverted);
  30. border-radius: 24px;
  31. background: var(--dsw-alias-bg-layer-2);
  32. box-shadow: var(--dsw-shadow-lv3);
  33. }
  34. .content {
  35. display: flex;
  36. flex-direction: column;
  37. width: 100%;
  38. }
  39. /* Header row (figma Title row): pad l24/t22/r14/b12, SPACE_BETWEEN —
  40. * title left, close button right. */
  41. .header {
  42. display: flex;
  43. align-items: center;
  44. justify-content: space-between;
  45. gap: 8px;
  46. padding: 22px 14px 12px 24px;
  47. }
  48. .title {
  49. margin: 0;
  50. font-size: 16px;
  51. line-height: 24px;
  52. font-weight: 500; /* figma wt510, rendered 500 */
  53. color: var(--dsw-alias-label-primary);
  54. }
  55. .close {
  56. flex: none;
  57. display: inline-flex;
  58. align-items: center;
  59. justify-content: center;
  60. width: 28px;
  61. height: 28px;
  62. border: none;
  63. border-radius: 8px;
  64. background: transparent;
  65. cursor: pointer;
  66. color: var(--dsw-alias-label-secondary);
  67. }
  68. .close:hover {
  69. background: var(--dsw-alias-interactive-bg-hover);
  70. }
  71. /* Description and body share the 332px content column (24px side pads). */
  72. .description {
  73. margin: 0;
  74. padding: 0 24px;
  75. font-size: 14px;
  76. line-height: 22px;
  77. font-weight: 400;
  78. color: var(--dsw-alias-label-primary);
  79. }
  80. .body {
  81. display: flex;
  82. flex-direction: column;
  83. min-width: 0;
  84. margin-top: 20px;
  85. padding: 0 24px;
  86. }
  87. .footer {
  88. display: flex;
  89. align-items: center;
  90. justify-content: flex-end;
  91. gap: 8px;
  92. padding: 0 24px;
  93. }