@idds/styles 1.0.26

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 (81) hide show
  1. package/README.md +147 -0
  2. package/package.json +55 -0
  3. package/src/colors/brands/bgn.css +29 -0
  4. package/src/colors/brands/bkn.css +32 -0
  5. package/src/colors/brands/inagov.css +39 -0
  6. package/src/colors/brands/inaku.css +28 -0
  7. package/src/colors/brands/inapas.css +28 -0
  8. package/src/colors/brands/lan.css +38 -0
  9. package/src/colors/brands/pan-rb.css +30 -0
  10. package/src/colors/index.css +11 -0
  11. package/src/colors/primitives/index.css +150 -0
  12. package/src/colors/product/index.css +205 -0
  13. package/src/colors/utilities/index.css +77 -0
  14. package/src/components/accordion-card.css +99 -0
  15. package/src/components/accordion.css +120 -0
  16. package/src/components/action-dropdown.css +140 -0
  17. package/src/components/alert.css +180 -0
  18. package/src/components/avatar.css +182 -0
  19. package/src/components/badge.css +244 -0
  20. package/src/components/bottom-sheet.css +61 -0
  21. package/src/components/breadcrumb.css +94 -0
  22. package/src/components/button-group.css +130 -0
  23. package/src/components/button.css +233 -0
  24. package/src/components/card.css +488 -0
  25. package/src/components/carousel.css +100 -0
  26. package/src/components/chart.css +81 -0
  27. package/src/components/checkbox.css +211 -0
  28. package/src/components/chip.css +228 -0
  29. package/src/components/collapse.css +84 -0
  30. package/src/components/confirmation.css +131 -0
  31. package/src/components/date-picker.css +1063 -0
  32. package/src/components/divider.css +174 -0
  33. package/src/components/drawer.css +757 -0
  34. package/src/components/dropdown.css +369 -0
  35. package/src/components/field-input-table.css +347 -0
  36. package/src/components/file-upload.css +357 -0
  37. package/src/components/input-search.css +428 -0
  38. package/src/components/linear-progress-indicator.css +34 -0
  39. package/src/components/modal.css +497 -0
  40. package/src/components/month-picker.css +325 -0
  41. package/src/components/multiple-choice-grid.css +383 -0
  42. package/src/components/pagination.css +415 -0
  43. package/src/components/password-input.css +472 -0
  44. package/src/components/phone-input.css +412 -0
  45. package/src/components/progress-bar.css +447 -0
  46. package/src/components/radio-input.css +263 -0
  47. package/src/components/reset.css +431 -0
  48. package/src/components/select-dropdown.css +663 -0
  49. package/src/components/select-option.css +217 -0
  50. package/src/components/skeleton.css +488 -0
  51. package/src/components/spinner.css +450 -0
  52. package/src/components/stepper.css +209 -0
  53. package/src/components/tab-horizontal.css +278 -0
  54. package/src/components/tab-vertical.css +261 -0
  55. package/src/components/table-progress-bar.css +48 -0
  56. package/src/components/table.css +538 -0
  57. package/src/components/text-area.css +216 -0
  58. package/src/components/text-field.css +275 -0
  59. package/src/components/theme-toggle.css +259 -0
  60. package/src/components/time-picker.css +436 -0
  61. package/src/components/toast.css +245 -0
  62. package/src/components/toggle.css +223 -0
  63. package/src/components/tooltip.css +452 -0
  64. package/src/components/year-picker.css +423 -0
  65. package/src/index.css +3 -0
  66. package/src/tailwind/css/bgn.css +43 -0
  67. package/src/tailwind/css/bkn.css +37 -0
  68. package/src/tailwind/css/idds.css +231 -0
  69. package/src/tailwind/css/inagov.css +33 -0
  70. package/src/tailwind/css/inaku.css +33 -0
  71. package/src/tailwind/css/inapas.css +33 -0
  72. package/src/tailwind/css/lan.css +43 -0
  73. package/src/tailwind/css/pan-rb.css +35 -0
  74. package/src/tailwind/ts/bgn.ts +20 -0
  75. package/src/tailwind/ts/bkn.ts +38 -0
  76. package/src/tailwind/ts/idds.ts +240 -0
  77. package/src/tailwind/ts/inagov.ts +35 -0
  78. package/src/tailwind/ts/inaku.ts +35 -0
  79. package/src/tailwind/ts/inapas.ts +35 -0
  80. package/src/tailwind/ts/lan.ts +45 -0
  81. package/src/tailwind/ts/panrb.ts +37 -0
@@ -0,0 +1,325 @@
1
+ /* =========================== */
2
+ /* MONTH PICKER STYLES */
3
+ /* =========================== */
4
+
5
+ .ina-month-picker {
6
+ position: relative;
7
+ display: inline-block;
8
+ }
9
+
10
+ /* Trigger Button */
11
+ .ina-month-picker__trigger {
12
+ display: flex;
13
+ align-items: center;
14
+ padding: var(--ina-spacing-1) var(--ina-spacing-4);
15
+ border: 1px solid var(--ina-stroke-primary);
16
+ border-radius: var(--ina-radius-lg);
17
+ background-color: var(--ina-background-primary);
18
+ color: var(--ina-content-primary);
19
+ font-size: var(--ina-font-xs);
20
+ font-weight: var(--ina-font-medium);
21
+ cursor: pointer;
22
+ transition: all var(--ina-transition-fast);
23
+ min-width: 60px;
24
+ gap: var(--ina-spacing-2);
25
+ }
26
+ .ina-month-picker__trigger--size-sm {
27
+ height: 32px;
28
+ }
29
+ .ina-month-picker__trigger--size-md {
30
+ height: 36px;
31
+ }
32
+ /* Desktop >= 768px */
33
+ @media (min-width: 768px) {
34
+ .ina-month-picker__trigger-md {
35
+ height: 44px;
36
+ }
37
+ }
38
+
39
+ .ina-month-picker__trigger:hover {
40
+ background-color: var(--ina-neutral-50);
41
+ }
42
+
43
+ .ina-month-picker__trigger:focus {
44
+ box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
45
+ outline: none;
46
+ background-color: var(--ina-background-primary);
47
+ border-color: var(--ina-content-primary);
48
+ }
49
+
50
+ .ina-month-picker__trigger--disabled {
51
+ background-color: var(--ina-background-secondary);
52
+ color: var(--ina-content-tertiary);
53
+ cursor: not-allowed;
54
+ opacity: 0.6;
55
+ }
56
+
57
+ .ina-month-picker__trigger--disabled:hover {
58
+ background-color: var(--ina-background-secondary);
59
+ border-color: var(--ina-stroke-primary);
60
+ }
61
+
62
+ .ina-month-picker__trigger--readonly {
63
+ background-color: var(--ina-background-secondary);
64
+ cursor: default;
65
+ }
66
+
67
+ .ina-month-picker__trigger--readonly:hover {
68
+ background-color: var(--ina-background-secondary);
69
+ border-color: var(--ina-stroke-primary);
70
+ }
71
+
72
+ /* Trigger Text */
73
+ .ina-month-picker__trigger-text {
74
+ flex: 1;
75
+ text-align: left;
76
+ font-size: var(--ina-font-xs);
77
+ font-weight: var(--ina-font-medium);
78
+ color: inherit;
79
+ }
80
+
81
+ /* Icon */
82
+ .ina-month-picker__icon {
83
+ flex-shrink: 0;
84
+ color: var(--ina-content-dark-secondary);
85
+ }
86
+
87
+ /* Clear Button */
88
+ .ina-month-picker__clear-button {
89
+ flex-shrink: 0;
90
+ background: none;
91
+ border: none;
92
+ cursor: pointer;
93
+ padding: 0;
94
+ display: inline-flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ color: var(--ina-content-dark-secondary);
98
+ transition: color var(--ina-transition-base);
99
+ }
100
+
101
+ .ina-month-picker__clear-button:hover:not(:disabled) {
102
+ color: var(--ina-content-secondary);
103
+ }
104
+
105
+ .ina-month-picker__clear-button:disabled {
106
+ cursor: not-allowed;
107
+ opacity: 0.5;
108
+ }
109
+
110
+ .ina-month-picker__clear-icon {
111
+ width: 16px;
112
+ height: 16px;
113
+ }
114
+
115
+ /* Panel */
116
+ .ina-month-picker__panel {
117
+ position: absolute;
118
+ top: 100%;
119
+ left: 0;
120
+ margin-top: var(--ina-spacing-1);
121
+ background-color: var(
122
+ --ina-background-primary
123
+ ) !important; /* Ensure solid background */
124
+ border: 1px solid var(--ina-stroke-primary);
125
+ border-radius: var(--ina-radius-xl);
126
+ box-shadow: var(--ina-shadow-lg);
127
+ z-index: 10005; /* Higher than DatePicker panel (10004) */
128
+ width: 240px;
129
+ max-width: calc(
130
+ 100vw - 16px
131
+ ); /* Ensure panel doesn't exceed viewport width */
132
+ padding: var(--ina-spacing-4);
133
+ opacity: 0;
134
+ visibility: hidden;
135
+ transform: translateY(-8px);
136
+ transition: all var(--ina-transition-fast);
137
+ /* Ensure panel is not clipped by parent containers */
138
+ max-height: 300px;
139
+ overflow-y: auto;
140
+ /* Ensure panel content is solid */
141
+ backdrop-filter: none;
142
+ -webkit-backdrop-filter: none;
143
+ }
144
+
145
+ .ina-month-picker__panel--open {
146
+ opacity: 1;
147
+ visibility: visible;
148
+ transform: translateY(0);
149
+ }
150
+
151
+ /* Right-aligned panel positioning */
152
+ .ina-month-picker__panel--right-aligned {
153
+ left: auto !important;
154
+ right: 0 !important;
155
+ }
156
+
157
+ /* Month Grid - 3x4 layout */
158
+ .ina-month-picker__grid {
159
+ display: grid;
160
+ grid-template-columns: repeat(4, 1fr);
161
+ gap: var(--ina-spacing-1);
162
+ background-color: var(--ina-background-primary);
163
+ border-radius: var(--ina-radius-base);
164
+ }
165
+
166
+ /* Month Options */
167
+ .ina-month-picker__month-option {
168
+ display: flex;
169
+ align-items: center;
170
+ justify-content: center;
171
+ padding: var(--ina-spacing-2) var(--ina-spacing-3);
172
+ font-size: var(--ina-font-xs);
173
+ font-weight: var(--ina-font-medium);
174
+ color: var(--ina-content-primary);
175
+ background-color: var(--ina-white);
176
+ border: 1px solid var(--ina-border-light);
177
+ border-radius: var(--ina-radius-lg);
178
+ cursor: pointer;
179
+ transition: all var(--ina-transition-fast);
180
+ height: 40px;
181
+ width: 40px;
182
+ aspect-ratio: 1;
183
+ }
184
+
185
+ .ina-month-picker__month-option:hover:not(:disabled) {
186
+ background-color: var(--ina-background-secondary);
187
+ }
188
+
189
+ .ina-month-picker__month-option--selected {
190
+ background-color: var(--ina-content-primary);
191
+ color: var(--ina-white);
192
+ font-weight: var(--ina-font-medium);
193
+ }
194
+
195
+ .ina-month-picker__month-option.ina-month-picker__month-option--selected:hover {
196
+ background-color: var(--ina-content-primary);
197
+ font-weight: var(--ina-font-semibold);
198
+ }
199
+
200
+ .ina-month-picker__month-option--hovered:not(
201
+ .ina-month-picker__month-option--selected
202
+ ) {
203
+ background-color: var(--ina-background-secondary);
204
+ color: var(--ina-content-primary);
205
+ }
206
+
207
+ .ina-month-picker__month-option:disabled {
208
+ color: var(--ina-content-tertiary);
209
+ cursor: not-allowed;
210
+ opacity: 0.5;
211
+ }
212
+
213
+ .ina-month-picker__month-option--disabled {
214
+ color: var(--ina-content-tertiary);
215
+ cursor: not-allowed;
216
+ opacity: 0.4;
217
+ background-color: var(--ina-background-secondary);
218
+ }
219
+
220
+ .ina-month-picker__month-option--disabled:hover {
221
+ background-color: var(--ina-background-secondary);
222
+ opacity: 0.4;
223
+ }
224
+
225
+ /* =========================== */
226
+ /* DARK MODE SUPPORT */
227
+ /* =========================== */
228
+
229
+ [data-theme='dark'] .ina-month-picker__trigger {
230
+ background-color: var(--ina-background-primary);
231
+ border-color: var(--ina-stroke-primary);
232
+ color: var(--ina-content-primary);
233
+ }
234
+
235
+ [data-theme='dark'] .ina-month-picker__trigger:hover {
236
+ background-color: var(--ina-neutral-50);
237
+ border-color: var(--ina-stroke-secondary);
238
+ }
239
+
240
+ [data-theme='dark'] .ina-month-picker__trigger:focus {
241
+ border-color: var(--ina-primary-500);
242
+ box-shadow: 0 1px 2px 0 rgba(31, 31, 31, 0.1), 0 0 0 3px #f3f3f3;
243
+ }
244
+
245
+ [data-theme='dark'] .ina-month-picker__panel {
246
+ background-color: var(--ina-background-primary);
247
+ border-color: var(--ina-stroke-primary);
248
+ box-shadow: var(--ina-shadow-lg);
249
+ }
250
+
251
+ [data-theme='dark'] .ina-month-picker__month-option {
252
+ color: var(--ina-content-primary);
253
+ }
254
+
255
+ [data-theme='dark'] .ina-month-picker__month-option:hover:not(:disabled) {
256
+ background-color: var(--ina-neutral-50);
257
+ }
258
+
259
+ [data-theme='dark'] .ina-month-picker__month-option--selected {
260
+ background-color: var(--ina-primary-500);
261
+ color: var(--ina-white);
262
+ }
263
+
264
+ [data-theme='dark'] .ina-month-picker__month-option--selected:hover {
265
+ background-color: var(--ina-primary-600);
266
+ }
267
+
268
+ [data-theme='dark']
269
+ .ina-month-picker__month-option--hovered:not(
270
+ .ina-month-picker__month-option--selected
271
+ ) {
272
+ background-color: var(--ina-primary-100);
273
+ color: var(--ina-primary-800);
274
+ }
275
+
276
+ [data-theme='dark'] .ina-month-picker__month-option--disabled {
277
+ color: var(--ina-content-tertiary);
278
+ opacity: 0.4;
279
+ background-color: var(--ina-background-secondary);
280
+ }
281
+
282
+ [data-theme='dark'] .ina-month-picker__month-option--disabled:hover {
283
+ background-color: var(--ina-background-secondary);
284
+ opacity: 0.4;
285
+ }
286
+
287
+ /* =========================== */
288
+ /* RESPONSIVE DESIGN */
289
+ /* =========================== */
290
+
291
+ @media (max-width: 640px) {
292
+ .ina-month-picker__panel {
293
+ width: calc(100vw - 2rem);
294
+ max-width: 240px;
295
+ padding: var(--ina-spacing-3);
296
+ }
297
+
298
+ .ina-month-picker__month-option {
299
+ min-height: 36px;
300
+ font-size: 10px;
301
+ padding: 4px 8px;
302
+ }
303
+
304
+ .ina-month-picker__grid {
305
+ gap: var(--ina-spacing-1);
306
+ }
307
+ }
308
+
309
+ @media (max-width: 480px) {
310
+ .ina-month-picker__panel {
311
+ width: calc(100vw - 1.5rem);
312
+ max-width: 200px;
313
+ padding: var(--ina-spacing-2);
314
+ }
315
+
316
+ .ina-month-picker__month-option {
317
+ min-height: 32px;
318
+ font-size: 10px;
319
+ padding: 4px 8px;
320
+ }
321
+
322
+ .ina-month-picker__grid {
323
+ gap: 0.25rem;
324
+ }
325
+ }
@@ -0,0 +1,383 @@
1
+ /* =========================== */
2
+ /* MULTIPLE CHOICE GRID STYLES */
3
+ /* =========================== */
4
+
5
+ .ina-multiple-choice-grid {
6
+ background-color: var(--ina-background-primary);
7
+ border: 1px solid var(--ina-stroke-primary);
8
+ border-radius: var(--ina-radius-lg);
9
+ overflow: hidden;
10
+ box-shadow: var(--ina-shadow-sm);
11
+ width: 100%;
12
+ min-width: 600px; /* Minimum width to ensure proper grid layout */
13
+ }
14
+
15
+ /* Header Row */
16
+ .ina-multiple-choice-grid__header {
17
+ display: grid;
18
+ grid-template-columns: 200px repeat(auto-fit, minmax(120px, 1fr));
19
+ background-color: var(--ina-background-secondary);
20
+ border-bottom: 1px solid var(--ina-stroke-primary);
21
+ width: 100%;
22
+ }
23
+
24
+ .ina-multiple-choice-grid__header-cell {
25
+ padding: var(--ina-spacing-4) var(--ina-spacing-3);
26
+ font-size: var(--ina-font-sm);
27
+ font-weight: var(--ina-font-semibold);
28
+ color: var(--ina-content-primary);
29
+ text-align: center;
30
+ border-right: 1px solid var(--ina-stroke-primary);
31
+ display: -webkit-box;
32
+ -webkit-box-orient: vertical;
33
+ -webkit-line-clamp: 3;
34
+ align-items: center;
35
+ justify-content: center;
36
+ min-height: 48px;
37
+ max-height: 80px;
38
+ overflow: hidden;
39
+ word-wrap: break-word;
40
+ word-break: break-word;
41
+ hyphens: auto;
42
+ line-height: 1.4;
43
+ text-overflow: ellipsis;
44
+ }
45
+
46
+ .ina-multiple-choice-grid__header-cell:last-child {
47
+ border-right: none;
48
+ }
49
+
50
+ .ina-multiple-choice-grid__header-cell--empty {
51
+ background-color: var(--ina-background-primary);
52
+ border-right: 1px solid var(--ina-stroke-primary);
53
+ }
54
+
55
+ /* Data Rows */
56
+ .ina-multiple-choice-grid__row {
57
+ display: grid;
58
+ grid-template-columns: 200px repeat(auto-fit, minmax(120px, 1fr));
59
+ border-bottom: 1px solid var(--ina-stroke-primary);
60
+ transition: background-color var(--ina-transition-fast);
61
+ width: 100%;
62
+ }
63
+
64
+ .ina-multiple-choice-grid__row:last-child {
65
+ border-bottom: none;
66
+ }
67
+
68
+ .ina-multiple-choice-grid__row:hover {
69
+ background-color: var(--ina-background-tertiary);
70
+ }
71
+
72
+ .ina-multiple-choice-grid__row:last-child:hover {
73
+ background-color: var(--ina-background-tertiary);
74
+ }
75
+
76
+ /* Row Label */
77
+ .ina-multiple-choice-grid__row-label {
78
+ padding: var(--ina-spacing-4) var(--ina-spacing-3);
79
+ font-size: var(--ina-font-sm);
80
+ font-weight: var(--ina-font-medium);
81
+ color: var(--ina-content-primary);
82
+ border-right: 1px solid var(--ina-stroke-primary);
83
+ display: -webkit-box;
84
+ -webkit-box-orient: vertical;
85
+ -webkit-line-clamp: 3;
86
+ align-items: center;
87
+ background-color: var(--ina-background-primary);
88
+ min-height: 48px;
89
+ max-height: 80px;
90
+ overflow: hidden;
91
+ word-wrap: break-word;
92
+ word-break: break-word;
93
+ hyphens: auto;
94
+ line-height: 1.4;
95
+ text-align: left;
96
+ text-overflow: ellipsis;
97
+ }
98
+
99
+ /* Radio Button Cells */
100
+ .ina-multiple-choice-grid__cell {
101
+ padding: var(--ina-spacing-3);
102
+ border-right: 1px solid var(--ina-stroke-primary);
103
+ display: flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ min-height: 48px;
107
+ }
108
+
109
+ .ina-multiple-choice-grid__cell:last-child {
110
+ border-right: none;
111
+ }
112
+
113
+ /* Custom Radio Button Styling */
114
+ .ina-multiple-choice-grid__radio-label {
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ cursor: pointer;
119
+ position: relative;
120
+ }
121
+
122
+ .ina-multiple-choice-grid__radio-input {
123
+ position: absolute;
124
+ opacity: 0;
125
+ width: 0;
126
+ height: 0;
127
+ margin: 0;
128
+ padding: 0;
129
+ border: none;
130
+ outline: none;
131
+ }
132
+
133
+ .ina-multiple-choice-grid__radio-custom {
134
+ display: inline-block;
135
+ width: 16px;
136
+ height: 16px;
137
+ border: 2px solid var(--ina-stroke-secondary);
138
+ border-radius: 50%;
139
+ background-color: var(--ina-background-primary);
140
+ transition: all var(--ina-transition-base);
141
+ position: relative;
142
+ }
143
+
144
+ .ina-multiple-choice-grid__radio-input:checked
145
+ + .ina-multiple-choice-grid__radio-custom {
146
+ border-color: var(--ina-primary-500);
147
+ background-color: var(--ina-primary-500);
148
+ }
149
+
150
+ .ina-multiple-choice-grid__radio-input:checked
151
+ + .ina-multiple-choice-grid__radio-custom::after {
152
+ content: '';
153
+ position: absolute;
154
+ top: 50%;
155
+ left: 50%;
156
+ transform: translate(-50%, -50%);
157
+ width: 6px;
158
+ height: 6px;
159
+ border-radius: 50%;
160
+ background-color: var(--ina-background-primary);
161
+ }
162
+
163
+ .ina-multiple-choice-grid__radio-input:focus
164
+ + .ina-multiple-choice-grid__radio-custom {
165
+ outline: 2px solid var(--ina-primary-500);
166
+ outline-offset: 2px;
167
+ }
168
+
169
+ .ina-multiple-choice-grid__radio-input:focus:not(:focus-visible)
170
+ + .ina-multiple-choice-grid__radio-custom {
171
+ outline: none;
172
+ }
173
+
174
+ .ina-multiple-choice-grid__radio-input:disabled
175
+ + .ina-multiple-choice-grid__radio-custom {
176
+ border-color: var(--ina-stroke-tertiary);
177
+ background-color: var(--ina-background-secondary);
178
+ cursor: not-allowed;
179
+ opacity: 0.6;
180
+ }
181
+
182
+ .ina-multiple-choice-grid__radio-input:disabled:checked
183
+ + .ina-multiple-choice-grid__radio-custom {
184
+ border-color: var(--ina-stroke-tertiary);
185
+ background-color: var(--ina-stroke-tertiary);
186
+ }
187
+
188
+ .ina-multiple-choice-grid__radio-input:disabled:checked
189
+ + .ina-multiple-choice-grid__radio-custom::after {
190
+ background-color: var(--ina-background-secondary);
191
+ }
192
+
193
+ .ina-multiple-choice-grid__radio-label:hover:not(
194
+ :has(.ina-multiple-choice-grid__radio-input:disabled)
195
+ )
196
+ .ina-multiple-choice-grid__radio-custom {
197
+ border-color: var(--ina-primary-400);
198
+ }
199
+
200
+ .ina-multiple-choice-grid__radio-label:hover:not(
201
+ :has(.ina-multiple-choice-grid__radio-input:disabled)
202
+ )
203
+ .ina-multiple-choice-grid__radio-input:checked
204
+ + .ina-multiple-choice-grid__radio-custom {
205
+ border-color: var(--ina-primary-600);
206
+ background-color: var(--ina-primary-600);
207
+ }
208
+
209
+ /* Dark Mode Support */
210
+ [data-theme='dark'] .ina-multiple-choice-grid__radio-custom {
211
+ border-color: var(--ina-stroke-secondary);
212
+ background-color: var(--ina-background-primary);
213
+ }
214
+
215
+ [data-theme='dark']
216
+ .ina-multiple-choice-grid__radio-input:checked
217
+ + .ina-multiple-choice-grid__radio-custom {
218
+ border-color: var(--ina-primary-400);
219
+ background-color: var(--ina-primary-400);
220
+ }
221
+
222
+ [data-theme='dark']
223
+ .ina-multiple-choice-grid__radio-input:checked
224
+ + .ina-multiple-choice-grid__radio-custom::after {
225
+ background-color: var(--ina-background-primary);
226
+ }
227
+
228
+ [data-theme='dark']
229
+ .ina-multiple-choice-grid__radio-input:focus
230
+ + .ina-multiple-choice-grid__radio-custom {
231
+ outline-color: var(--ina-primary-400);
232
+ }
233
+
234
+ [data-theme='dark']
235
+ .ina-multiple-choice-grid__radio-input:disabled
236
+ + .ina-multiple-choice-grid__radio-custom {
237
+ border-color: var(--ina-stroke-tertiary);
238
+ background-color: var(--ina-background-secondary);
239
+ }
240
+
241
+ [data-theme='dark']
242
+ .ina-multiple-choice-grid__radio-input:disabled:checked
243
+ + .ina-multiple-choice-grid__radio-custom {
244
+ border-color: var(--ina-stroke-tertiary);
245
+ background-color: var(--ina-stroke-tertiary);
246
+ }
247
+
248
+ [data-theme='dark']
249
+ .ina-multiple-choice-grid__radio-input:disabled:checked
250
+ + .ina-multiple-choice-grid__radio-custom::after {
251
+ background-color: var(--ina-background-secondary);
252
+ }
253
+
254
+ [data-theme='dark']
255
+ .ina-multiple-choice-grid__radio-label:hover:not(
256
+ :has(.ina-multiple-choice-grid__radio-input:disabled)
257
+ )
258
+ .ina-multiple-choice-grid__radio-custom {
259
+ border-color: var(--ina-primary-300);
260
+ }
261
+
262
+ [data-theme='dark']
263
+ .ina-multiple-choice-grid__radio-label:hover:not(
264
+ :has(.ina-multiple-choice-grid__radio-input:disabled)
265
+ )
266
+ .ina-multiple-choice-grid__radio-input:checked
267
+ + .ina-multiple-choice-grid__radio-custom {
268
+ border-color: var(--ina-primary-300);
269
+ background-color: var(--ina-primary-300);
270
+ }
271
+
272
+ /* Disabled State */
273
+ .ina-multiple-choice-grid--disabled {
274
+ opacity: 0.6;
275
+ pointer-events: none;
276
+ }
277
+
278
+ .ina-multiple-choice-grid--disabled .ina-multiple-choice-grid__row:hover {
279
+ background-color: transparent;
280
+ }
281
+
282
+ /* Responsive Design */
283
+ @media (max-width: 768px) {
284
+ .ina-multiple-choice-grid__header,
285
+ .ina-multiple-choice-grid__row {
286
+ grid-template-columns: 150px repeat(auto-fit, minmax(100px, 1fr));
287
+ }
288
+
289
+ .ina-multiple-choice-grid__header-cell,
290
+ .ina-multiple-choice-grid__row-label,
291
+ .ina-multiple-choice-grid__cell {
292
+ padding: var(--ina-spacing-3) var(--ina-spacing-2);
293
+ min-height: 44px;
294
+ font-size: var(--ina-font-xs);
295
+ }
296
+
297
+ .ina-multiple-choice-grid__header-cell,
298
+ .ina-multiple-choice-grid__row-label {
299
+ max-height: 60px;
300
+ }
301
+ }
302
+
303
+ @media (max-width: 480px) {
304
+ .ina-multiple-choice-grid__header,
305
+ .ina-multiple-choice-grid__row {
306
+ grid-template-columns: 120px repeat(auto-fit, minmax(80px, 1fr));
307
+ }
308
+
309
+ .ina-multiple-choice-grid__header-cell,
310
+ .ina-multiple-choice-grid__row-label,
311
+ .ina-multiple-choice-grid__cell {
312
+ padding: var(--ina-spacing-2);
313
+ min-height: 40px;
314
+ }
315
+
316
+ .ina-multiple-choice-grid__header-cell,
317
+ .ina-multiple-choice-grid__row-label {
318
+ max-height: 50px;
319
+ }
320
+ }
321
+
322
+ /* Dark Mode Support */
323
+ [data-theme='dark'] .ina-multiple-choice-grid {
324
+ background-color: var(--ina-background-primary);
325
+ border-color: var(--ina-stroke-primary);
326
+ }
327
+
328
+ [data-theme='dark'] .ina-multiple-choice-grid__header {
329
+ background-color: var(--ina-background-secondary);
330
+ border-bottom-color: var(--ina-stroke-primary);
331
+ }
332
+
333
+ [data-theme='dark'] .ina-multiple-choice-grid__header-cell {
334
+ color: var(--ina-content-primary);
335
+ border-right-color: var(--ina-stroke-primary);
336
+ }
337
+
338
+ [data-theme='dark'] .ina-multiple-choice-grid__header-cell--empty {
339
+ background-color: var(--ina-background-primary);
340
+ border-right-color: var(--ina-stroke-primary);
341
+ }
342
+
343
+ [data-theme='dark'] .ina-multiple-choice-grid__row {
344
+ border-bottom-color: var(--ina-stroke-primary);
345
+ }
346
+
347
+ [data-theme='dark'] .ina-multiple-choice-grid__row:hover {
348
+ background-color: var(--ina-background-tertiary);
349
+ }
350
+
351
+ [data-theme='dark'] .ina-multiple-choice-grid__row-label {
352
+ color: var(--ina-content-primary);
353
+ border-right-color: var(--ina-stroke-primary);
354
+ background-color: var(--ina-background-primary);
355
+ }
356
+
357
+ [data-theme='dark'] .ina-multiple-choice-grid__cell {
358
+ border-right-color: var(--ina-stroke-primary);
359
+ }
360
+
361
+ /* High Contrast Mode */
362
+ @media (prefers-contrast: high) {
363
+ .ina-multiple-choice-grid {
364
+ border-width: 2px;
365
+ }
366
+
367
+ .ina-multiple-choice-grid__header-cell,
368
+ .ina-multiple-choice-grid__row-label,
369
+ .ina-multiple-choice-grid__cell {
370
+ border-right-width: 2px;
371
+ }
372
+
373
+ .ina-multiple-choice-grid__row {
374
+ border-bottom-width: 2px;
375
+ }
376
+ }
377
+
378
+ /* Reduced Motion */
379
+ @media (prefers-reduced-motion: reduce) {
380
+ .ina-multiple-choice-grid__row {
381
+ transition: none;
382
+ }
383
+ }