@gumigumih/react-calculator-input-form 1.1.4 → 2.0.0

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.
@@ -1,479 +1,479 @@
1
- /* 電卓入力フォーム用スタイル */
2
-
1
+ /* 電卓入力フォーム用スタイル */
2
+
3
3
  /* 背景とレイアウト */
4
4
  .calculator-overlay {
5
- position: fixed;
6
- top: 0;
7
- left: 0;
8
- right: 0;
9
- bottom: 0;
5
+ position: fixed;
6
+ top: 0;
7
+ left: 0;
8
+ right: 0;
9
+ bottom: 0;
10
10
  background: rgba(0, 0, 0, 0.5); /* 黒の半透明 */
11
- display: flex;
12
- align-items: center;
13
- justify-content: center;
14
- z-index: 9999;
15
- padding: 1rem;
16
- }
17
-
18
- .calculator-background-pattern {
19
- position: absolute;
20
- inset: 0;
21
- overflow: hidden;
22
- }
23
-
24
- .calculator-background-pattern > div {
25
- position: absolute;
26
- inset: 0;
27
- opacity: 0.1;
28
- }
29
-
30
- .calculator-pattern-item {
31
- position: absolute;
32
- font-size: 2rem;
33
- }
34
-
35
- .calculator-pattern-item:nth-child(1) {
36
- top: 2.5rem;
37
- left: 2.5rem;
38
- font-size: 2.5rem;
39
- }
40
- .calculator-pattern-item:nth-child(2) {
41
- top: 5rem;
42
- right: 5rem;
43
- font-size: 1.875rem;
44
- }
45
- .calculator-pattern-item:nth-child(3) {
46
- top: 10rem;
47
- left: 5rem;
48
- font-size: 1.5rem;
49
- }
50
- .calculator-pattern-item:nth-child(4) {
51
- top: 15rem;
52
- right: 10rem;
53
- font-size: 1.875rem;
54
- }
55
- .calculator-pattern-item:nth-child(5) {
56
- top: 20rem;
57
- left: 10rem;
58
- font-size: 1.5rem;
59
- }
60
- .calculator-pattern-item:nth-child(6) {
61
- bottom: 10rem;
62
- right: 5rem;
63
- font-size: 1.875rem;
64
- }
65
-
66
- /* メインカード */
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ z-index: 9999;
15
+ padding: 1rem;
16
+ }
17
+
18
+ .calculator-background-pattern {
19
+ position: absolute;
20
+ inset: 0;
21
+ overflow: hidden;
22
+ }
23
+
24
+ .calculator-background-pattern > div {
25
+ position: absolute;
26
+ inset: 0;
27
+ opacity: 0.1;
28
+ }
29
+
30
+ .calculator-pattern-item {
31
+ position: absolute;
32
+ font-size: 2rem;
33
+ }
34
+
35
+ .calculator-pattern-item:nth-child(1) {
36
+ top: 2.5rem;
37
+ left: 2.5rem;
38
+ font-size: 2.5rem;
39
+ }
40
+ .calculator-pattern-item:nth-child(2) {
41
+ top: 5rem;
42
+ right: 5rem;
43
+ font-size: 1.875rem;
44
+ }
45
+ .calculator-pattern-item:nth-child(3) {
46
+ top: 10rem;
47
+ left: 5rem;
48
+ font-size: 1.5rem;
49
+ }
50
+ .calculator-pattern-item:nth-child(4) {
51
+ top: 15rem;
52
+ right: 10rem;
53
+ font-size: 1.875rem;
54
+ }
55
+ .calculator-pattern-item:nth-child(5) {
56
+ top: 20rem;
57
+ left: 10rem;
58
+ font-size: 1.5rem;
59
+ }
60
+ .calculator-pattern-item:nth-child(6) {
61
+ bottom: 10rem;
62
+ right: 5rem;
63
+ font-size: 1.875rem;
64
+ }
65
+
66
+ /* メインカード */
67
67
  .calculator-modal {
68
- background: white;
69
- border-radius: 0.75rem;
70
- width: 100%;
71
- max-width: 24rem;
72
- box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
73
- max-height: 90vh;
74
- overflow-y: auto;
75
- position: relative;
76
- z-index: 10;
77
- }
78
-
79
- /* ヘッダー */
80
- .calculator-header {
81
- display: flex;
82
- justify-content: space-between;
83
- align-items: center;
84
- padding: 1rem;
85
- border-bottom: 1px solid #e5e7eb;
86
- }
87
-
88
- .calculator-logo-container {
89
- display: flex;
90
- align-items: center;
91
- gap: 0.75rem;
92
- }
93
-
68
+ background: var(--calculator-surface, white);
69
+ border-radius: 0.75rem;
70
+ width: 100%;
71
+ max-width: 24rem;
72
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
73
+ max-height: 90vh;
74
+ overflow-y: auto;
75
+ position: relative;
76
+ z-index: 10;
77
+ }
78
+
79
+ /* ヘッダー */
80
+ .calculator-header {
81
+ display: flex;
82
+ justify-content: space-between;
83
+ align-items: center;
84
+ padding: 1rem;
85
+ border-bottom: 1px solid #e5e7eb;
86
+ }
87
+
88
+ .calculator-logo-container {
89
+ display: flex;
90
+ align-items: center;
91
+ gap: 0.75rem;
92
+ }
93
+
94
94
  .calculator-logo {
95
95
  width: 2.5rem;
96
96
  height: 2.5rem;
97
- background-color: #60a5fa;
98
- border-radius: 50%;
99
- display: flex;
100
- align-items: center;
101
- justify-content: center;
102
- }
103
-
104
- .calculator-logo-text {
105
- color: white;
106
- font-size: 1.25rem;
107
- font-weight: bold;
108
- }
109
-
110
- .calculator-title {
111
- font-size: 1.125rem;
112
- font-weight: 700;
113
- color: #111827;
114
- margin: 0;
115
- }
116
-
117
- .calculator-subtitle {
118
- font-size: 0.75rem;
119
- color: #6b7280;
120
- margin: 0;
121
- }
122
-
123
- .calculator-close-button {
124
- background: none;
125
- border: none;
126
- font-size: 1.25rem;
127
- color: #6b7280;
128
- cursor: pointer;
129
- padding: 0.5rem;
130
- border-radius: 0.375rem;
131
- transition: all 0.2s ease-in-out;
132
- }
133
-
97
+ background-color: var(--calculator-primary, #60a5fa);
98
+ border-radius: 50%;
99
+ display: flex;
100
+ align-items: center;
101
+ justify-content: center;
102
+ }
103
+
104
+ .calculator-logo-text {
105
+ color: white;
106
+ font-size: 1.25rem;
107
+ font-weight: bold;
108
+ }
109
+
110
+ .calculator-title {
111
+ font-size: 1.125rem;
112
+ font-weight: 700;
113
+ color: #111827;
114
+ margin: 0;
115
+ }
116
+
117
+ .calculator-subtitle {
118
+ font-size: 0.75rem;
119
+ color: #6b7280;
120
+ margin: 0;
121
+ }
122
+
123
+ .calculator-close-button {
124
+ background: none;
125
+ border: none;
126
+ font-size: 1.25rem;
127
+ color: #6b7280;
128
+ cursor: pointer;
129
+ padding: 0.5rem;
130
+ border-radius: 0.375rem;
131
+ transition: all 0.2s ease-in-out;
132
+ }
133
+
134
134
  .calculator-close-button:hover {
135
- background-color: #6b7280;
135
+ background-color: var(--calculator-danger, #6b7280);
136
136
  color: white;
137
137
  }
138
-
139
- /* 参加者セクション */
140
- .calculator-participants {
141
- padding: 1.5rem;
142
- display: flex;
143
- flex-direction: column;
144
- gap: 1rem;
145
- }
146
-
147
- .calculator-participant-row {
148
- display: flex;
149
- align-items: center;
150
- justify-content: space-between;
151
- padding: 1rem;
152
- border-radius: 0.5rem;
153
- border: 2px solid #e5e7eb;
154
- transition: all 0.2s;
155
- cursor: pointer;
156
- }
157
-
158
- .calculator-participant-row:hover {
159
- border-color: #d1d5db;
160
- }
161
-
138
+
139
+ /* 参加者セクション */
140
+ .calculator-participants {
141
+ padding: 1.5rem;
142
+ display: flex;
143
+ flex-direction: column;
144
+ gap: 1rem;
145
+ }
146
+
147
+ .calculator-participant-row {
148
+ display: flex;
149
+ align-items: center;
150
+ justify-content: space-between;
151
+ padding: 1rem;
152
+ border-radius: 0.5rem;
153
+ border: 2px solid #e5e7eb;
154
+ transition: all 0.2s;
155
+ cursor: pointer;
156
+ }
157
+
158
+ .calculator-participant-row:hover {
159
+ border-color: #d1d5db;
160
+ }
161
+
162
162
  .calculator-participant-row.selected {
163
- border-color: #3b82f6;
164
- background-color: #eff6ff;
165
- }
166
-
167
- .calculator-participant-info {
168
- display: flex;
169
- align-items: center;
170
- gap: 0.75rem;
171
- }
172
-
173
- .calculator-participant-name {
174
- font-size: 1.125rem;
175
- font-weight: 500;
176
- color: #374151;
177
- }
178
-
179
- .calculator-participant-amount {
180
- display: flex;
181
- align-items: center;
182
- gap: 0.5rem;
183
- }
184
-
185
- .calculator-amount-text {
186
- font-size: 1.5rem;
187
- font-weight: bold;
188
- color: #111827;
189
- }
190
-
191
- .calculator-currency {
192
- color: #6b7280;
193
- }
194
-
195
- .calculator-clear-button {
196
- color: #9ca3af;
197
- transition: color 0.2s;
198
- background: none;
199
- border: none;
200
- cursor: pointer;
201
- padding: 0.25rem;
202
- }
203
-
204
- .calculator-clear-button:hover {
205
- color: #ef4444;
206
- }
207
-
208
- /* 参加者管理ボタン */
209
- .calculator-participant-controls {
210
- display: flex;
211
- gap: 0.5rem;
212
- }
213
-
163
+ border-color: var(--calculator-primary, #3b82f6);
164
+ background-color: color-mix(in srgb, var(--calculator-primary, #3b82f6) 10%, white);
165
+ }
166
+
167
+ .calculator-participant-info {
168
+ display: flex;
169
+ align-items: center;
170
+ gap: 0.75rem;
171
+ }
172
+
173
+ .calculator-participant-name {
174
+ font-size: 1.125rem;
175
+ font-weight: 500;
176
+ color: #374151;
177
+ }
178
+
179
+ .calculator-participant-amount {
180
+ display: flex;
181
+ align-items: center;
182
+ gap: 0.5rem;
183
+ }
184
+
185
+ .calculator-amount-text {
186
+ font-size: 1.5rem;
187
+ font-weight: bold;
188
+ color: #111827;
189
+ }
190
+
191
+ .calculator-currency {
192
+ color: #6b7280;
193
+ }
194
+
195
+ .calculator-clear-button {
196
+ color: #9ca3af;
197
+ transition: color 0.2s;
198
+ background: none;
199
+ border: none;
200
+ cursor: pointer;
201
+ padding: 0.25rem;
202
+ }
203
+
204
+ .calculator-clear-button:hover {
205
+ color: #ef4444;
206
+ }
207
+
208
+ /* 参加者管理ボタン */
209
+ .calculator-participant-controls {
210
+ display: flex;
211
+ gap: 0.5rem;
212
+ }
213
+
214
214
  .calculator-add-button {
215
- flex: 1;
216
- padding: 0.5rem 1rem;
217
- background-color: #3b82f6;
218
- color: white;
219
- border: none;
220
- border-radius: 0.5rem;
221
- font-size: 0.875rem;
222
- font-weight: bold;
223
- cursor: pointer;
224
- transition: background-color 0.2s;
225
- }
226
-
215
+ flex: 1;
216
+ padding: 0.5rem 1rem;
217
+ background-color: var(--calculator-primary, #3b82f6);
218
+ color: white;
219
+ border: none;
220
+ border-radius: 0.5rem;
221
+ font-size: 0.875rem;
222
+ font-weight: bold;
223
+ cursor: pointer;
224
+ transition: background-color 0.2s;
225
+ }
226
+
227
227
  .calculator-add-button:hover {
228
- background-color: #2563eb;
228
+ background-color: color-mix(in srgb, var(--calculator-primary, #3b82f6) 85%, black);
229
229
  }
230
-
230
+
231
231
  .calculator-remove-button {
232
- padding: 0.5rem 1rem;
233
- background-color: #6b7280;
234
- color: white;
235
- border: none;
236
- border-radius: 0.5rem;
237
- font-size: 0.875rem;
238
- font-weight: bold;
239
- cursor: pointer;
240
- transition: background-color 0.2s;
241
- }
242
-
232
+ padding: 0.5rem 1rem;
233
+ background-color: var(--calculator-danger, #6b7280);
234
+ color: white;
235
+ border: none;
236
+ border-radius: 0.5rem;
237
+ font-size: 0.875rem;
238
+ font-weight: bold;
239
+ cursor: pointer;
240
+ transition: background-color 0.2s;
241
+ }
242
+
243
243
  .calculator-remove-button:hover {
244
- background-color: #4b5563;
245
- }
246
-
247
- /* 電卓キーパッド */
248
- .calculator-keypad-section {
249
- border-top: none;
250
- padding: 1rem;
251
- }
252
-
253
- .calculator-display {
254
- }
255
-
256
- .calculator-display-input {
257
- text-align: right;
258
- font-size: 1.5rem;
259
- font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas,
260
- "Liberation Mono", Menlo, monospace;
261
- background-color: #f3f4f6;
262
- padding: 0.75rem 1.25rem;
263
- border-radius: 0 !important; /* 角丸を確実に無効化 */
264
- width: 100%;
265
- box-sizing: border-box; /* パディング込みで100%に収める */
266
- border: none;
267
- outline: none;
268
- }
269
-
270
- /* エラーメッセージ */
271
- .calculator-error {
272
- color: #ef4444;
273
- font-size: 0.75rem; /* text-xs 相当 */
274
- padding-left: 1.25rem;
275
- padding-right: 1.25rem; /* 左右に余白 */
276
- margin-top: 0.25rem;
277
- }
278
-
279
- /* キーパッドボタン */
280
- .calculator-keypad {
281
- display: flex;
282
- flex-direction: column;
283
- gap: 0.5rem;
284
- }
285
-
286
- .calculator-keypad-grid {
287
- display: grid;
288
- grid-template-columns: repeat(4, 1fr);
289
- gap: 0.5rem;
290
- }
291
-
292
- .calculator-keypad-button {
293
- padding: 0.75rem;
294
- font-size: 1rem;
295
- font-weight: 700;
296
- border-radius: 0.5rem;
297
- transition: all 0.2s;
298
- border: none;
299
- cursor: pointer;
300
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
301
- }
302
-
303
- .calculator-keypad-button.number {
304
- background-color: #f3f4f6;
305
- color: #374151;
306
- }
307
-
308
- .calculator-keypad-button.number:hover {
309
- background-color: #dbeafe;
310
- }
311
-
244
+ background-color: color-mix(in srgb, var(--calculator-danger, #6b7280) 85%, black);
245
+ }
246
+
247
+ /* 電卓キーパッド */
248
+ .calculator-keypad-section {
249
+ border-top: none;
250
+ padding: 1rem;
251
+ }
252
+
253
+ .calculator-display {
254
+ }
255
+
256
+ .calculator-display-input {
257
+ text-align: right;
258
+ font-size: 1.5rem;
259
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas,
260
+ "Liberation Mono", Menlo, monospace;
261
+ background-color: #f3f4f6;
262
+ padding: 0.75rem 1.25rem;
263
+ border-radius: 0 !important; /* 角丸を確実に無効化 */
264
+ width: 100%;
265
+ box-sizing: border-box; /* パディング込みで100%に収める */
266
+ border: none;
267
+ outline: none;
268
+ }
269
+
270
+ /* エラーメッセージ */
271
+ .calculator-error {
272
+ color: #ef4444;
273
+ font-size: 0.75rem; /* text-xs 相当 */
274
+ padding-left: 1.25rem;
275
+ padding-right: 1.25rem; /* 左右に余白 */
276
+ margin-top: 0.25rem;
277
+ }
278
+
279
+ /* キーパッドボタン */
280
+ .calculator-keypad {
281
+ display: flex;
282
+ flex-direction: column;
283
+ gap: 0.5rem;
284
+ }
285
+
286
+ .calculator-keypad-grid {
287
+ display: grid;
288
+ grid-template-columns: repeat(4, 1fr);
289
+ gap: 0.5rem;
290
+ }
291
+
292
+ .calculator-keypad-button {
293
+ padding: 0.75rem;
294
+ font-size: 1rem;
295
+ font-weight: 700;
296
+ border-radius: 0.5rem;
297
+ transition: all 0.2s;
298
+ border: none;
299
+ cursor: pointer;
300
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
301
+ }
302
+
303
+ .calculator-keypad-button.number {
304
+ background-color: #f3f4f6;
305
+ color: #374151;
306
+ }
307
+
308
+ .calculator-keypad-button.number:hover {
309
+ background-color: #dbeafe;
310
+ }
311
+
312
312
  .calculator-keypad-button.operator {
313
- background-color: #ff9f0a; /* iOS calculator orange */
314
- color: #ffffff;
315
- }
316
-
313
+ background-color: var(--calculator-operator, #ff9f0a); /* iOS calculator orange */
314
+ color: #ffffff;
315
+ }
316
+
317
317
  .calculator-keypad-button.operator:hover {
318
- background-color: #ffb340; /* lighter on hover */
318
+ background-color: color-mix(in srgb, var(--calculator-operator, #ff9f0a) 85%, white); /* lighter on hover */
319
319
  }
320
-
320
+
321
321
  .calculator-keypad-button.clear {
322
- background-color: #ef4444;
323
- color: white;
324
- }
325
-
322
+ background-color: var(--calculator-danger, #ef4444);
323
+ color: white;
324
+ }
325
+
326
326
  .calculator-keypad-button.clear:hover {
327
- background-color: #dc2626;
328
- }
329
-
330
- .calculator-keypad-button.backspace {
331
- background-color: #a5a5a5; /* iOS-like function key gray */
332
- color: #ffffff;
333
- }
334
-
335
- .calculator-keypad-button.backspace:hover {
336
- background-color: #b5b5b5;
337
- }
338
-
339
- .calculator-keypad-button.decimal {
340
- background-color: #e5e7eb;
341
- color: #374151;
342
- }
343
-
344
- .calculator-keypad-button.decimal:hover {
345
- background-color: #d1d5db;
346
- }
347
-
348
- /* 税込/税抜の視認性向上 */
349
- /* 税込=薄い水色系(クールで落ち着いた色) */
350
-
351
- /* 薄い水色基調(税込) */
327
+ background-color: color-mix(in srgb, var(--calculator-danger, #ef4444) 85%, black);
328
+ }
329
+
330
+ .calculator-keypad-button.backspace {
331
+ background-color: #a5a5a5; /* iOS-like function key gray */
332
+ color: #ffffff;
333
+ }
334
+
335
+ .calculator-keypad-button.backspace:hover {
336
+ background-color: #b5b5b5;
337
+ }
338
+
339
+ .calculator-keypad-button.decimal {
340
+ background-color: #e5e7eb;
341
+ color: #374151;
342
+ }
343
+
344
+ .calculator-keypad-button.decimal:hover {
345
+ background-color: #d1d5db;
346
+ }
347
+
348
+ /* 税込/税抜の視認性向上 */
349
+ /* 税込=薄い水色系(クールで落ち着いた色) */
350
+
351
+ /* 薄い水色基調(税込) */
352
352
  .calculator-keypad-button.include {
353
- background-color: #a5f3fc; /* cyan-200 */
354
- color: #374151; /* 数字ボタンと同じ文字色 */
355
- }
356
-
353
+ background-color: color-mix(in srgb, var(--calculator-success, #a5f3fc) 30%, white); /* cyan-200 */
354
+ color: #374151; /* 数字ボタンと同じ文字色 */
355
+ }
356
+
357
357
  .calculator-keypad-button.include:hover {
358
- background-color: #67e8f9; /* cyan-300 */
358
+ background-color: var(--calculator-success, #67e8f9); /* cyan-300 */
359
359
  }
360
-
361
- /* 税抜=薄い桃色系(温かみのある色) */
362
- /* 薄い桃色基調(税抜) */
360
+
361
+ /* 税抜=薄い桃色系(温かみのある色) */
362
+ /* 薄い桃色基調(税抜) */
363
363
  .calculator-keypad-button.exclude {
364
- background-color: #fce7f3; /* pink-200 */
365
- color: #374151; /* 数字ボタンと同じ文字色 */
366
- }
367
-
364
+ background-color: color-mix(in srgb, var(--calculator-danger, #fce7f3) 20%, white); /* pink-200 */
365
+ color: #374151; /* 数字ボタンと同じ文字色 */
366
+ }
367
+
368
368
  .calculator-keypad-button.exclude:hover {
369
- background-color: #fbcfe8; /* pink-300 */
370
- }
371
-
372
- .calculator-action-buttons {
373
- display: grid;
374
- grid-template-columns: 1fr 1fr;
375
- gap: 0.75rem;
376
- }
377
-
369
+ background-color: color-mix(in srgb, var(--calculator-danger, #fbcfe8) 35%, white); /* pink-300 */
370
+ }
371
+
372
+ .calculator-action-buttons {
373
+ display: grid;
374
+ grid-template-columns: 1fr 1fr;
375
+ gap: 0.75rem;
376
+ }
377
+
378
378
  .calculator-equals-button {
379
- padding: 0.75rem;
380
- background-color: #ff9f0a; /* distinct from tax buttons, iOS-like */
381
- color: #ffffff;
382
- font-size: 1rem;
383
- font-weight: 700;
384
- border: none;
385
- border-radius: 0.5rem;
386
- cursor: pointer;
387
- transition: background-color 0.2s;
388
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
389
- }
390
-
379
+ padding: 0.75rem;
380
+ background-color: var(--calculator-operator, #ff9f0a); /* distinct from tax buttons, iOS-like */
381
+ color: #ffffff;
382
+ font-size: 1rem;
383
+ font-weight: 700;
384
+ border: none;
385
+ border-radius: 0.5rem;
386
+ cursor: pointer;
387
+ transition: background-color 0.2s;
388
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
389
+ }
390
+
391
391
  .calculator-equals-button:hover {
392
- background-color: #ffb340;
392
+ background-color: color-mix(in srgb, var(--calculator-operator, #ff9f0a) 85%, white);
393
393
  }
394
-
394
+
395
395
  .calculator-decide-button {
396
- padding: 0.75rem;
397
- background-color: #10b981;
398
- color: white;
399
- font-size: 1rem;
400
- font-weight: 700;
401
- border: none;
402
- border-radius: 0.5rem;
403
- cursor: pointer;
404
- transition: background-color 0.2s;
405
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
406
- grid-column: 1 / -1; /* 横幅100%(2列分) */
407
- }
408
-
396
+ padding: 0.75rem;
397
+ background-color: var(--calculator-success, #10b981);
398
+ color: white;
399
+ font-size: 1rem;
400
+ font-weight: 700;
401
+ border: none;
402
+ border-radius: 0.5rem;
403
+ cursor: pointer;
404
+ transition: background-color 0.2s;
405
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
406
+ grid-column: 1 / -1; /* 横幅100%(2列分) */
407
+ }
408
+
409
409
  .calculator-decide-button:hover {
410
- background-color: #059669;
411
- }
412
-
413
- /* 合計と計算ボタン */
414
- .calculator-total-section {
415
- padding: 1.5rem;
416
- border-top: 1px solid #e5e7eb;
417
- }
418
-
419
- .calculator-total-row {
420
- display: flex;
421
- justify-content: space-between;
422
- align-items: center;
423
- margin-bottom: 1rem;
424
- }
425
-
426
- .calculator-total-label {
427
- font-size: 1.125rem;
428
- font-weight: 500;
429
- color: #374151;
430
- }
431
-
432
- .calculator-total-amount {
433
- font-size: 1.5rem;
434
- font-weight: bold;
435
- color: #111827;
436
- }
437
-
410
+ background-color: color-mix(in srgb, var(--calculator-success, #10b981) 85%, black);
411
+ }
412
+
413
+ /* 合計と計算ボタン */
414
+ .calculator-total-section {
415
+ padding: 1.5rem;
416
+ border-top: 1px solid #e5e7eb;
417
+ }
418
+
419
+ .calculator-total-row {
420
+ display: flex;
421
+ justify-content: space-between;
422
+ align-items: center;
423
+ margin-bottom: 1rem;
424
+ }
425
+
426
+ .calculator-total-label {
427
+ font-size: 1.125rem;
428
+ font-weight: 500;
429
+ color: #374151;
430
+ }
431
+
432
+ .calculator-total-amount {
433
+ font-size: 1.5rem;
434
+ font-weight: bold;
435
+ color: #111827;
436
+ }
437
+
438
438
  .calculator-per-person {
439
- color: #2563eb;
439
+ color: var(--calculator-primary, #2563eb);
440
440
  }
441
-
441
+
442
442
  .calculator-calculate-button {
443
- width: 100%;
444
- padding: 1rem;
445
- background-color: #10b981;
446
- color: white;
447
- font-size: 1.125rem;
448
- font-weight: bold;
449
- border: none;
450
- border-radius: 0.5rem;
451
- cursor: pointer;
452
- transition: background-color 0.2s;
453
- box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
454
- }
455
-
443
+ width: 100%;
444
+ padding: 1rem;
445
+ background-color: var(--calculator-success, #10b981);
446
+ color: white;
447
+ font-size: 1.125rem;
448
+ font-weight: bold;
449
+ border: none;
450
+ border-radius: 0.5rem;
451
+ cursor: pointer;
452
+ transition: background-color 0.2s;
453
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
454
+ }
455
+
456
456
  .calculator-calculate-button:hover {
457
- background-color: #059669;
458
- }
459
-
460
- /* レスポンシブ対応 */
461
- @media (max-width: 640px) {
462
- .calculator-overlay {
463
- padding: 0.5rem;
464
- }
465
-
466
- .calculator-modal {
467
- max-width: 100%;
468
- margin: 0.5rem;
469
- }
470
-
471
- .calculator-keypad-button {
472
- padding: 0.75rem;
473
- font-size: 1.125rem;
474
- }
475
- }
476
-
477
- .calculator-keypad-button.number.zero-wide {
478
- grid-column: span 2;
479
- }
457
+ background-color: color-mix(in srgb, var(--calculator-success, #10b981) 85%, black);
458
+ }
459
+
460
+ /* レスポンシブ対応 */
461
+ @media (max-width: 640px) {
462
+ .calculator-overlay {
463
+ padding: 0.5rem;
464
+ }
465
+
466
+ .calculator-modal {
467
+ max-width: 100%;
468
+ margin: 0.5rem;
469
+ }
470
+
471
+ .calculator-keypad-button {
472
+ padding: 0.75rem;
473
+ font-size: 1.125rem;
474
+ }
475
+ }
476
+
477
+ .calculator-keypad-button.number.zero-wide {
478
+ grid-column: span 2;
479
+ }