tomo2chin2 commited on
Commit
b18f145
·
verified ·
1 Parent(s): fda913e

Update A4/style_print_a4_landscape.css

Browse files
Files changed (1) hide show
  1. A4/style_print_a4_landscape.css +212 -234
A4/style_print_a4_landscape.css CHANGED
@@ -1,4 +1,4 @@
1
- /* style_print_a4_landscape.css - A4 Landscape & Enhanced Readability - Revision 3 (Layout & Content Density Adjusted) */
2
 
3
  /* Basic settings and fonts */
4
  body {
@@ -9,7 +9,8 @@ body {
9
  color: #333;
10
  -webkit-font-smoothing: antialiased;
11
  -moz-osx-font-smoothing: grayscale;
12
- font-size: 9pt; /* Adjusted base font size slightly down for density */
 
13
  }
14
 
15
  .manual-container {
@@ -54,9 +55,9 @@ body {
54
 
55
  /* Content Grid Layout */
56
  .content-grid {
57
- display: flex;
58
- flex-direction: row; /* Arrange items horizontally */
59
- flex-wrap: nowrap; /* Prevent wrapping */
60
  gap: 8mm; /* Space between grid items */
61
  flex-grow: 1; /* Allow grid to take available space */
62
  height: calc(100% - 25mm); /* Adjusted height considering title and footer */
@@ -71,10 +72,10 @@ body {
71
  background-color: #fff;
72
  display: flex;
73
  flex-direction: column;
74
- /* overflow-y: auto; /* Allow internal scroll for overflow - REMOVED for print goal */
75
  scrollbar-width: thin;
76
  scrollbar-color: #adb5bd #f8f9fa;
77
- line-height: 1.4; /* Adjusted line height further */
78
  }
79
 
80
  /* Grid column definitions */
@@ -93,20 +94,20 @@ body {
93
 
94
  /* Section and Titles within grid items */
95
  .grid-item h4 { /* Main titles within a grid item */
96
- margin: 0 0 7px 0; /* Reduced margin */
97
  font-size: 1.1em;
98
  font-weight: 700;
99
  display: flex;
100
  align-items: center;
101
  border-bottom: 1px solid #ccc;
102
- padding-bottom: 3px; /* Reduced padding */
103
  color: #0056b3;
104
  flex-shrink: 0; /* Prevent shrinking */
105
  }
106
- .grid-item h4 i { margin-right: 6px; font-size: 1em; color: inherit; }
107
 
108
  .grid-item h5 { /* Sub-titles within a section */
109
- margin: 5px 0 3px 0; /* Reduced margin */
110
  font-size: 1.0em;
111
  font-weight: 600;
112
  display: flex;
@@ -114,11 +115,11 @@ body {
114
  color: #495057;
115
  flex-shrink: 0; /* Prevent shrinking */
116
  }
117
- .grid-item h5 i { margin-right: 4px; font-size: 0.9em; }
118
 
119
  .section {
120
- padding-bottom: 5px; /* Reduced padding */
121
- margin-bottom: 5px; /* Reduced margin */
122
  border-bottom: 1px solid #f0f0f0;
123
  }
124
  .section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
@@ -126,12 +127,12 @@ body {
126
  /* Visual Area */
127
  .visual-area {
128
  background-color: #f8f9fa;
129
- padding: 7px; /* Reduced padding */
130
  border-radius: 5px;
131
  border: 1px dashed #ced4da;
132
- margin-top: 3px; /* Reduced margin */
133
- margin-bottom: 7px; /* Reduced margin */
134
- min-height: 30px; /* Reduced min-height */
135
  color: #6c757d;
136
  display: flex;
137
  flex-direction: column;
@@ -140,46 +141,45 @@ body {
140
  text-align: center;
141
  flex-shrink: 0; /* Prevent shrinking */
142
  }
143
- .visual-area i { color: #adb5bd; margin-bottom: 2px; /* Reduced margin */ }
144
- .visual-area p { margin: 2px 0; /* Reduced margin */ font-style: italic; font-size: 0.85em; /* Reduced font size */ }
145
- .visual-area small { font-size: 0.75em; /* Reduced font size */ color: #adb5bd; margin-top: 2px; /* Reduced margin */ }
146
- .visual-area.small { min-height: 20px; padding: 5px; margin-bottom: 5px; } /* Reduced further */
147
- .map-placeholder { min-height: 70px; } /* Reduced */
148
- .unit-placeholder { min-height: 60px; } /* Reduced */
149
- .equip-placeholder { min-height: 40px; } /* Reduced */
150
- .disposal-placeholder { min-height: 35px; } /* Reduced */
151
- .clean-placeholder { min-height: 35px; } /* Reduced */
152
- .p-ken-placeholder { min-height: 35px; } /* Reduced */
153
- .tbi-placeholder { min-height: 45px; } /* Reduced */
154
-
155
 
156
  /* Staff Info */
157
  .staff-info {
158
  display: flex;
159
  justify-content: space-around;
160
- gap: 6px; /* Reduced gap */
161
- margin-top: 5px; /* Reduced margin */
162
- margin-bottom: 5px; /* Reduced margin */
163
  flex-wrap: wrap; /* Allow wrapping if needed */
164
  }
165
  .staff-item {
166
  text-align: center;
167
  border: 1px solid #dee2e6;
168
- padding: 5px 4px; /* Reduced padding */
169
  border-radius: 5px;
170
  flex: 1;
171
  background-color: #fff;
172
  transition: background-color 0.2s ease;
173
- min-width: 75px; /* Reduced min-width */
174
  flex-shrink: 0;
175
  }
176
  .staff-item:hover { background-color: #f8f9fa; }
177
  .face-photo {
178
- width: 30px; /* Smaller photo */
179
- height: 30px;
180
  background-color: #e9ecef;
181
  border-radius: 50%;
182
- margin: 0 auto 4px auto; /* Reduced margin */
183
  display: flex;
184
  justify-content: center;
185
  align-items: center;
@@ -187,68 +187,68 @@ body {
187
  border: 1px solid #fff; /* Thinner border */
188
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
189
  }
190
- .face-photo i { font-size: 1.1em; } /* Reduced icon size */
191
- .staff-item p { margin: 1px 0; font-size: 0.8em; /* Reduced font size */ line-height: 1.2; /* Reduced line height */ color: #495057; }
192
- .staff-name { font-weight: 700; font-size: 0.85em; /* Reduced font size */ color: #212529; }
193
- .highlight { margin-top: 2px; /* Reduced margin */ font-size: 0.7em !important; /* Reduced font size */ padding: 1px 3px; /* Reduced padding */ }
194
 
195
  /* Schedule */
196
  .schedule-card {
197
  display: flex;
198
  flex-direction: row;
199
  justify-content: space-between;
200
- gap: 8px; /* Reduced gap */
201
  }
202
- .schedule-group { flex-basis: 49%; } /* Slightly increased basis */
203
- .schedule-group h5 { font-size: 1.0em; padding-bottom: 1px; margin-bottom: 3px; /* Reduced margins */ }
204
- .schedule-group ul { padding-left: 3px; margin: 0; }
205
- .schedule-group li { font-size: 0.8em; /* Reduced font size */ margin-bottom: 1px; /* Reduced margin */ }
206
- .time { width: 38px; /* Adjusted width */ margin-right: 3px; font-size: 0.8em; } /* Reduced font size */
207
 
208
  /* Checklist */
209
- .checklist ul { padding-left: 3px; margin: 2px 0 0 0; /* Reduced margins */ }
210
- .checklist li { margin-bottom: 2px; /* Reduced margin */ font-size: 0.85em; /* Reduced font size */ }
211
- .checklist i.far { margin-right: 4px; /* Reduced margin */ font-size: 0.9em; /* Reduced font size */ width: 12px; /* Adjusted width */ }
212
- .priority { width: 14px; height: 14px; line-height: 14px; font-size: 0.65em; margin-right: 4px; } /* Adjusted size */
213
 
214
  /* Compact List & No-Bullet List */
215
- .compact-list li { margin-bottom: 1.5px; /* Reduced margin */ font-size: 0.85em; /* Reduced font size */ line-height: 1.3; /* Reduced line height */ }
216
  .no-bullet { list-style: none; padding-left: 0; margin: 0; }
217
- .no-bullet li { display: flex; align-items: flex-start; margin-bottom: 2px; /* Reduced margin */ }
218
- .no-bullet li i { margin-right: 4px; /* Reduced margin */ width: 12px; text-align: center; margin-top: 1px; /* Adjusted margin */ flex-shrink: 0; font-size: 0.9em; /* Reduced font size */ }
219
- .compact-list.two-column { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 12px; /* Reduced gap */ padding-left: 0; }
220
- .compact-list.two-column li { break-inside: avoid-column; padding-bottom: 2px; /* Reduced padding */ }
221
- .compact-list.two-column-small { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 6px; /* Reduced gap */ padding-left: 0; }
222
- .compact-list.two-column-small li { break-inside: avoid-column; padding-bottom: 1.5px; /* Reduced padding */ }
223
 
224
 
225
  /* Sublist */
226
- .sub-list { padding-left: 10px; /* Reduced padding */ margin: 1px 0 3px 3px; /* Reduced margins */ border-left: 1px solid #e0e0e0; }
227
- .sub-list li { font-size: 0.8em; /* Reduced font size */ margin-bottom: 1px; /* Reduced margin */ position: relative; padding-left: 6px; /* Reduced padding */ }
228
- .sub-list li::before { content: "-"; position: absolute; left: -3px; top: 0.5px; color: #6c757d; font-size: 0.8em; /* Reduced font size */ }
229
 
230
  /* Special Box */
231
- .special-box { border-radius: 5px; padding: 7px 9px; margin-top: 7px; /* Reduced margins */ }
232
- .special-box p { margin: 0 0 4px 0; /* Reduced margin */ font-size: 0.9em; /* Reduced font size */ }
233
- .special-box p i { margin-right: 4px; font-size: 1.0em; }
234
- .special-box ul { padding-left: 5px; margin: 0; }
235
- .special-box .compact-list li { font-size: 0.8em; /* Reduced font size */ }
236
- .special-box.small-box { padding: 5px 7px; margin-top: 5px; /* Reduced margins */ } /* More compact box */
237
- .special-box.small-box p { margin-bottom: 3px; /* Reduced margin */ font-size: 0.85em; /* Reduced font size */ }
238
- .special-box.small-box ul { padding-left: 4px; }
239
- .special-box.small-box .compact-list li { font-size: 0.75em; /* Reduced font size */ }
240
 
241
 
242
  /* Note Style */
243
  .note {
244
- font-size: 0.8em; /* Reduced font size */
245
  color: #555;
246
- margin-top: 5px; /* Reduced margin */
247
  font-style: italic;
248
- line-height: 1.2; /* Reduced line height */
249
  }
250
 
251
- /* Color Themes (Keep as is, adjust colors slightly if needed) */
252
  .normal-bg { background-color: #e7f5ff; border-bottom-color: #cce0ff; }
253
  .card-header.normal-bg i { color: #0056b3; }
254
  .card-header.normal-bg h3 { color: #004085; }
@@ -286,15 +286,8 @@ body {
286
  flex-shrink: 0; /* Prevent footer from shrinking */
287
  }
288
 
289
- /* Guidance Section */
290
- .guidance-section { display: flex; justify-content: space-between; gap: 10px; }
291
- .guidance-section > div { flex-basis: 48%; }
292
- .guidance-section h5 { font-size: 1.0em; margin-bottom: 4px;}
293
- .guidance-section ul { padding-left: 0; margin-top: 0; }
294
- .guidance-section li { font-size: 0.85em; margin-bottom: 2.5px; }
295
- .guidance-section li i { width: 15px; text-align: center; }
296
- .guidance-section ol.ordered-list { padding-left: 15px; margin: 0; }
297
- .guidance-section ol.ordered-list li { margin-bottom: 3px; }
298
 
299
  /* Waste Bins */
300
  .waste-bins { display: flex; justify-content: space-around; text-align: center; gap: 6px; margin-top: 6px; }
@@ -317,23 +310,11 @@ body {
317
  .glossary ul { margin-bottom: 0; line-height: 1.35; }
318
  .glossary .term { font-weight: bold; margin-right: 4px; color: #343a40; }
319
 
320
- /* Specific Card Adjustments */
321
- .equipment-card .notes-section { margin-top: 6px; padding-top: 6px; }
322
- .equipment-card .notes-section li { margin-bottom: 2.5px;}
323
- .equipment-card .notes-section li i { margin-right: 5px; width: 15px; }
324
 
325
- .recall-card .visual-area { margin-bottom: 5px; }
326
- .recall-card h4 { margin-top: 6px; margin-bottom: 3px; }
327
- .recall-card .special-box { margin-top: 6px; }
328
- .recall-card .no-bullet li { margin-bottom: 2.5px;}
329
-
330
- .ask-who-card h4 { margin-bottom: 3px; }
331
- .ask-who-card .staff-info { margin-top: 6px; }
332
- .ask-who-card .no-bullet li { margin-bottom: 2.5px;}
333
-
334
- /* Special Caution */
335
- .special-caution { color: #dc3545; font-weight: bold; display: block; margin-top: 4px; font-size: 0.85em; }
336
- .special-caution i { margin-right: 4px; }
337
 
338
  /* Simple Flow List */
339
  ol.simple-flow {
@@ -345,12 +326,6 @@ ol.simple-flow li {
345
  margin-bottom: 3px;
346
  font-size: 0.95em;
347
  }
348
- ol.simple-flow li i { /* Added style for icons in ordered list */
349
- margin-right: 6px;
350
- font-size: 0.9em;
351
- color: #007bff;
352
- }
353
-
354
 
355
  /* Flex container for side-by-side elements within a grid item */
356
  .flex-container {
@@ -367,14 +342,14 @@ ol.simple-flow li i { /* Added style for icons in ordered list */
367
  @media print {
368
  @page {
369
  size: A4 landscape;
370
- margin: 8mm; /* Slightly reduced print margin */
371
  }
372
  body {
373
  background-color: #fff !important;
374
- font-size: 8.5pt; /* Further reduced base font size for print */
 
375
  color-adjust: exact;
376
  -webkit-print-color-adjust: exact;
377
- line-height: 1.2; /* Tighter line height for print */
378
  }
379
  .manual-container {
380
  padding: 0;
@@ -386,9 +361,7 @@ ol.simple-flow li i { /* Added style for icons in ordered list */
386
  box-shadow: none;
387
  border: none;
388
  margin: 0;
389
- padding: 0 8mm; /* Apply horizontal padding here instead of .page */
390
- padding-top: 8mm; /* Add top padding */
391
- padding-bottom: 12mm; /* Add bottom padding to leave space for footer */
392
  page-break-after: always;
393
  display: block; /* Block display for better page breaking */
394
  overflow: visible; /* Show all content */
@@ -397,116 +370,150 @@ ol.simple-flow li i { /* Added style for icons in ordered list */
397
  page-break-after: avoid;
398
  }
399
  .page-title {
400
- font-size: 13pt; /* Reduced title size */
401
- margin-bottom: 5mm; /* Reduced margin */
402
- padding-bottom: 2px; /* Reduced padding */
403
  text-align: left; /* Align title left for print */
404
  border-bottom: 1px solid #666;
405
  }
406
  .content-grid {
407
- display: block; /* Use CSS columns for layout in print */
408
  height: auto;
409
  overflow: visible;
410
- column-count: 2; /* Default to 2 columns for grids */
411
- column-gap: 6mm; /* Reduced gap for print */
 
412
  column-fill: auto; /* Balance columns */
413
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
414
  .grid-item {
415
  border: 1px solid #ccc;
416
- padding: 5px 7px; /* Reduced padding */
417
- width: 100%; /* Full width within its column */
418
  max-width: none;
419
- margin-bottom: 4mm; /* Space between items vertically */
420
- break-inside: avoid-column; /* Try to keep item content together within columns */
421
  overflow: visible; /* Show all content */
422
- font-size: 8.5pt; /* Base font size for grid items */
423
- line-height: 1.2; /* Tighter line height */
424
- display: block; /* Ensure block display in print */
425
- }
426
- .grid-item:last-child {
427
- margin-bottom: 0; /* Remove bottom margin on last item in a column */
428
  }
429
- .grid-item h4 { font-size: 10pt; margin-bottom: 5px; padding-bottom: 2px; }
430
- .grid-item h5 { font-size: 9pt; margin: 3px 0 2px 0; }
431
-
432
- .section { padding-bottom: 4px; margin-bottom: 4px; }
433
- .section:last-child { margin-bottom: 0; padding-bottom: 0; }
434
-
435
- .visual-area { padding: 4px; min-height: 20px; margin-bottom: 4px; margin-top: 3px;}
436
- .visual-area.small { min-height: 15px; padding: 3px; margin-bottom: 3px; }
437
- .map-placeholder { min-height: 40px; }
438
- .unit-placeholder { min-height: 40px; }
439
- .visual-area i { margin-bottom: 1px; font-size: 1.3em;}
440
- .visual-area p { font-size: 0.8em; margin: 1px 0; }
441
- .visual-area small { font-size: 0.7em; margin-top: 1px; }
442
-
443
-
444
- .staff-info { gap: 4px; margin-top: 3px; margin-bottom: 3px;}
445
- .staff-item { padding: 3px 2px; min-width: 60px;}
446
- .face-photo { width: 25px; height: 25px; margin-bottom: 1px; }
447
- .face-photo i { font-size: 1.0em; }
448
- .staff-item p { font-size: 7pt; line-height: 1.0; }
449
- .staff-name { font-size: 7.5pt; }
450
- .highlight { font-size: 6pt !important; padding: 0 2px; margin-top: 1px;}
451
-
452
- .schedule-card { gap: 3px; }
453
- .schedule-group li { font-size: 7.5pt; margin-bottom: 0.5px; }
454
- .time { width: 30px; margin-right: 2px; font-size: 7.5pt; }
455
-
456
- .checklist li { margin-bottom: 1px; font-size: 8pt; }
457
- .checklist i.far { font-size: 0.8em; margin-right: 2px; width: 10px;}
458
- .priority { width: 12px; height: 12px; line-height: 12px; font-size: 5.5pt; margin-right: 2px;}
459
-
460
- .compact-list li { margin-bottom: 0.5px; font-size: 8pt; line-height: 1.1; }
461
- .no-bullet li i { margin-right: 3px; width: 9px; margin-top: 0.5px; font-size: 0.85em;}
462
- .compact-list.two-column, .compact-list.two-column-small { column-gap: 5mm; }
463
-
464
- .sub-list { padding-left: 8px; margin-top: 1px; margin-bottom: 2px;}
465
- .sub-list li { font-size: 7pt; margin-bottom: 0; padding-left: 4px;}
466
- .sub-list li::before { left: -2px; font-size: 0.7em; top: 0;}
467
-
468
- .special-box { padding: 4px 6px; margin-top: 4px; border-radius: 3px;}
469
- .special-box p { font-size: 8.5pt; margin-bottom: 1px; }
470
- .special-box p i { font-size: 0.8em; margin-right: 2px;}
471
- .special-box .compact-list li { font-size: 7pt; }
472
- .special-box.small-box { padding: 3px 5px; margin-top: 3px; }
473
- .special-box.small-box p { font-size: 8pt; margin-bottom: 1px; }
474
- .special-box.small-box .compact-list li { font-size: 7pt; }
475
-
476
- .ordered-list { padding-left: 15px; margin: 4px 0; }
477
- .ordered-list li { margin-bottom: 1.5px; font-size: 8pt; }
478
- ol.simple-flow { padding-left: 15px; margin: 4px 0; }
479
- ol.simple-flow li { margin-bottom: 1.5px; font-size: 8.5pt; }
480
- ol.simple-flow li i { margin-right: 4px; font-size: 0.85em;}
481
-
482
-
483
- .guidance-section { gap: 3mm; }
484
- .guidance-section li { font-size: 7.5pt; margin-bottom: 0.5px;}
485
-
486
- .waste-bins { gap: 2px; margin-top: 3px; }
487
- .bin { padding: 3px 2px; font-size: 6.5pt; min-height: 25px;}
488
- .bin i { font-size: 1.1em; margin-bottom: 0.5px; }
489
- .bin small { font-size: 0.7em; line-height: 1.0; }
490
-
491
- .rewritable-area { padding: 3px; margin-top: 4px; }
492
- .rewritable-area p { margin-bottom: 1px; font-size: 7.5pt;}
493
- .memo-lines { min-height: 2em; line-height: 1.0em;}
494
- .memo-lines hr { margin: 0.2em 0; }
495
-
496
- .glossary { padding-top: 3px; margin-top: 3px;}
497
- .glossary h4 { font-size: 9pt; margin-bottom: 1px; }
498
- .glossary ul { line-height: 1.1; }
499
- .glossary .term { font-size: 7.5pt; }
500
-
501
- .note { font-size: 7.5pt; margin-top: 3px; line-height: 1.1;}
502
- .special-caution { font-size: 7.5pt; margin-top: 1px; }
503
- .special-caution i { margin-right: 2px; }
504
 
505
  .page-footer {
506
  position: absolute;
507
  bottom: 3mm; /* Position relative to the @page margin */
508
- right: 8mm; /* Adjusted position */
509
- font-size: 6pt; /* Reduced font size */
510
  color: #777;
511
  }
512
 
@@ -514,33 +521,4 @@ ol.simple-flow li i { /* Added style for icons in ordered list */
514
  body > header, body > nav, body > footer, .manual-container > h1 {
515
  display: none;
516
  }
517
-
518
- /* Ensure column layout is used and break-inside works */
519
- .content-grid {
520
- column-count: 2;
521
- column-gap: 6mm;
522
- }
523
- .grid-item {
524
- break-inside: avoid-column;
525
- }
526
- /* Page 5, 6, 7 should also use 2 columns */
527
- .page.a4-landscape:nth-child(5) .content-grid,
528
- .page.a4-landscape:nth-child(6) .content-grid,
529
- .page.a4-landscape:nth-child(7) .content-grid {
530
- column-count: 2; /* Explicitly ensure these use 2 columns */
531
- column-gap: 6mm;
532
- }
533
- .page.a4-landscape:nth-child(5) .grid-item,
534
- .page.a4-landscape:nth-child(6) .grid-item,
535
- .page.a4-landscape:nth-child(7) .grid-item {
536
- break-inside: avoid-column; /* Ensure items break correctly */
537
- width: 100%; /* Full width within its column */
538
- max-width: none;
539
- margin-bottom: 4mm; /* Standard margin between items */
540
- }
541
- .page.a4-landscape:nth-child(5) .grid-item:last-child,
542
- .page.a4-landscape:nth-child(6) .grid-item:last-child,
543
- .page.a4-landscape:nth-child(7) .grid-item:last-child {
544
- margin-bottom: 0; /* Remove margin on last item in the column */
545
- }
546
  }
 
1
+ /* style_print_a4_landscape.css - A4 Landscape & Enhanced Readability - Revision 3 (Layout Optimized) */
2
 
3
  /* Basic settings and fonts */
4
  body {
 
9
  color: #333;
10
  -webkit-font-smoothing: antialiased;
11
  -moz-osx-font-smoothing: grayscale;
12
+ font-size: 9.5pt; /* Adjusted base font size for better fit */
13
+ line-height: 1.45; /* Adjusted line height */
14
  }
15
 
16
  .manual-container {
 
55
 
56
  /* Content Grid Layout */
57
  .content-grid {
58
+ display: flex; /* Use flexbox for screen layout */
59
+ flex-direction: row;
60
+ flex-wrap: nowrap;
61
  gap: 8mm; /* Space between grid items */
62
  flex-grow: 1; /* Allow grid to take available space */
63
  height: calc(100% - 25mm); /* Adjusted height considering title and footer */
 
72
  background-color: #fff;
73
  display: flex;
74
  flex-direction: column;
75
+ overflow-y: auto; /* Allow internal scroll for overflow - aiming to avoid this */
76
  scrollbar-width: thin;
77
  scrollbar-color: #adb5bd #f8f9fa;
78
+ line-height: 1.45; /* Consistent line height */
79
  }
80
 
81
  /* Grid column definitions */
 
94
 
95
  /* Section and Titles within grid items */
96
  .grid-item h4 { /* Main titles within a grid item */
97
+ margin: 0 0 8px 0; /* Reduced margin */
98
  font-size: 1.1em;
99
  font-weight: 700;
100
  display: flex;
101
  align-items: center;
102
  border-bottom: 1px solid #ccc;
103
+ padding-bottom: 4px;
104
  color: #0056b3;
105
  flex-shrink: 0; /* Prevent shrinking */
106
  }
107
+ .grid-item h4 i { margin-right: 7px; font-size: 1em; color: inherit; }
108
 
109
  .grid-item h5 { /* Sub-titles within a section */
110
+ margin: 6px 0 4px 0; /* Reduced margin */
111
  font-size: 1.0em;
112
  font-weight: 600;
113
  display: flex;
 
115
  color: #495057;
116
  flex-shrink: 0; /* Prevent shrinking */
117
  }
118
+ .grid-item h5 i { margin-right: 5px; font-size: 0.9em; }
119
 
120
  .section {
121
+ padding-bottom: 6px; /* Reduced padding */
122
+ margin-bottom: 6px; /* Reduced margin */
123
  border-bottom: 1px solid #f0f0f0;
124
  }
125
  .section:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
 
127
  /* Visual Area */
128
  .visual-area {
129
  background-color: #f8f9fa;
130
+ padding: 8px; /* Reduced padding */
131
  border-radius: 5px;
132
  border: 1px dashed #ced4da;
133
+ margin-top: 4px;
134
+ margin-bottom: 8px;
135
+ min-height: 35px;
136
  color: #6c757d;
137
  display: flex;
138
  flex-direction: column;
 
141
  text-align: center;
142
  flex-shrink: 0; /* Prevent shrinking */
143
  }
144
+ .visual-area i { color: #adb5bd; margin-bottom: 3px; }
145
+ .visual-area p { margin: 3px 0; font-style: italic; font-size: 0.9em; }
146
+ .visual-area small { font-size: 0.8em; color: #adb5bd; margin-top: 3px; }
147
+ .visual-area.small { min-height: 25px; padding: 6px; margin-bottom: 6px; }
148
+ .map-placeholder { min-height: 80px; }
149
+ .unit-placeholder { min-height: 70px; }
150
+ .equip-placeholder { min-height: 50px; }
151
+ .disposal-placeholder { min-height: 40px; }
152
+ .clean-placeholder { min-height: 40px; }
153
+ .p-ken-placeholder { min-height: 40px; }
154
+ .tbi-placeholder { min-height: 50px; }
 
155
 
156
  /* Staff Info */
157
  .staff-info {
158
  display: flex;
159
  justify-content: space-around;
160
+ gap: 8px; /* Reduced gap */
161
+ margin-top: 6px;
162
+ margin-bottom: 6px;
163
  flex-wrap: wrap; /* Allow wrapping if needed */
164
  }
165
  .staff-item {
166
  text-align: center;
167
  border: 1px solid #dee2e6;
168
+ padding: 6px 4px; /* Reduced padding */
169
  border-radius: 5px;
170
  flex: 1;
171
  background-color: #fff;
172
  transition: background-color 0.2s ease;
173
+ min-width: 80px;
174
  flex-shrink: 0;
175
  }
176
  .staff-item:hover { background-color: #f8f9fa; }
177
  .face-photo {
178
+ width: 35px; /* Smaller photo */
179
+ height: 35px;
180
  background-color: #e9ecef;
181
  border-radius: 50%;
182
+ margin: 0 auto 5px auto;
183
  display: flex;
184
  justify-content: center;
185
  align-items: center;
 
187
  border: 1px solid #fff; /* Thinner border */
188
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
189
  }
190
+ .face-photo i { font-size: 1.2em; }
191
+ .staff-item p { margin: 1px 0; font-size: 0.85em; line-height: 1.25; color: #495057; }
192
+ .staff-name { font-weight: 700; font-size: 0.9em; color: #212529; }
193
+ .highlight { margin-top: 3px; font-size: 0.75em !important; padding: 2px 4px; }
194
 
195
  /* Schedule */
196
  .schedule-card {
197
  display: flex;
198
  flex-direction: row;
199
  justify-content: space-between;
200
+ gap: 10px; /* Reduced gap */
201
  }
202
+ .schedule-group { flex-basis: 48%; }
203
+ .schedule-group h5 { font-size: 1.0em; padding-bottom: 2px; margin-bottom: 4px; }
204
+ .schedule-group ul { padding-left: 4px; margin: 0; }
205
+ .schedule-group li { font-size: 0.85em; margin-bottom: 2px; }
206
+ .time { width: 40px; margin-right: 4px; font-size: 0.85em; }
207
 
208
  /* Checklist */
209
+ .checklist ul { padding-left: 4px; margin: 3px 0 0 0; }
210
+ .checklist li { margin-bottom: 3px; font-size: 0.9em; }
211
+ .checklist i.far { margin-right: 5px; font-size: 1.0em; width: 14px; }
212
+ .priority { width: 16px; height: 16px; line-height: 1; font-size: 0.7em; margin-right: 5px; }
213
 
214
  /* Compact List & No-Bullet List */
215
+ .compact-list li { margin-bottom: 2px; font-size: 0.9em; line-height: 1.35; }
216
  .no-bullet { list-style: none; padding-left: 0; margin: 0; }
217
+ .no-bullet li { display: flex; align-items: flex-start; margin-bottom: 3px; }
218
+ .no-bullet li i { margin-right: 5px; width: 14px; text-align: center; margin-top: 1.5px; flex-shrink: 0; font-size: 0.95em; }
219
+ .compact-list.two-column { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 15px; padding-left: 0; }
220
+ .compact-list.two-column li { break-inside: avoid-column; padding-bottom: 3px; }
221
+ .compact-list.two-column-small { columns: 2; -webkit-columns: 2; -moz-columns: 2; column-gap: 8px; padding-left: 0; }
222
+ .compact-list.two-column-small li { break-inside: avoid-column; padding-bottom: 2px; }
223
 
224
 
225
  /* Sublist */
226
+ .sub-list { padding-left: 12px; margin: 2px 0 4px 4px; border-left: 1px solid #e0e0e0; }
227
+ .sub-list li { font-size: 0.85em; margin-bottom: 1.5px; position: relative; padding-left: 7px; }
228
+ .sub-list li::before { content: "-"; position: absolute; left: -3px; top: 0.5px; color: #6c757d; font-size: 0.9em; }
229
 
230
  /* Special Box */
231
+ .special-box { border-radius: 5px; padding: 8px 10px; margin-top: 8px; }
232
+ .special-box p { margin: 0 0 5px 0; font-size: 0.95em; }
233
+ .special-box p i { margin-right: 5px; font-size: 1.0em; }
234
+ .special-box ul { padding-left: 6px; margin: 0; }
235
+ .special-box .compact-list li { font-size: 0.85em; }
236
+ .special-box.small-box { padding: 6px 8px; margin-top: 6px; } /* More compact box */
237
+ .special-box.small-box p { margin-bottom: 4px; font-size: 0.9em; }
238
+ .special-box.small-box ul { padding-left: 5px; }
239
+ .special-box.small-box .compact-list li { font-size: 0.8em; }
240
 
241
 
242
  /* Note Style */
243
  .note {
244
+ font-size: 0.85em;
245
  color: #555;
246
+ margin-top: 6px;
247
  font-style: italic;
248
+ line-height: 1.3;
249
  }
250
 
251
+ /* Color Themes (Keep as is) */
252
  .normal-bg { background-color: #e7f5ff; border-bottom-color: #cce0ff; }
253
  .card-header.normal-bg i { color: #0056b3; }
254
  .card-header.normal-bg h3 { color: #004085; }
 
286
  flex-shrink: 0; /* Prevent footer from shrinking */
287
  }
288
 
289
+ /* Guidance Section (Renamed/Replaced by content-grid) */
290
+ /* Removed this specific section style as content-grid is used universally */
 
 
 
 
 
 
 
291
 
292
  /* Waste Bins */
293
  .waste-bins { display: flex; justify-content: space-around; text-align: center; gap: 6px; margin-top: 6px; }
 
310
  .glossary ul { margin-bottom: 0; line-height: 1.35; }
311
  .glossary .term { font-weight: bold; margin-right: 4px; color: #343a40; }
312
 
313
+ /* Specific Section Adjustments (Cleaned up - relying more on general styles) */
314
+ /* Removed specific card adjustments */
 
 
315
 
316
+ /* Special Caution (Renamed from special-caution to note.emergency-text for consistency) */
317
+ /* Class is now applied directly to <p> or <li> tags */
 
 
 
 
 
 
 
 
 
 
318
 
319
  /* Simple Flow List */
320
  ol.simple-flow {
 
326
  margin-bottom: 3px;
327
  font-size: 0.95em;
328
  }
 
 
 
 
 
 
329
 
330
  /* Flex container for side-by-side elements within a grid item */
331
  .flex-container {
 
342
  @media print {
343
  @page {
344
  size: A4 landscape;
345
+ margin: 10mm;
346
  }
347
  body {
348
  background-color: #fff !important;
349
+ font-size: 9pt; /* Adjusted base font size for print */
350
+ line-height: 1.3; /* Adjusted line height for print */
351
  color-adjust: exact;
352
  -webkit-print-color-adjust: exact;
 
353
  }
354
  .manual-container {
355
  padding: 0;
 
361
  box-shadow: none;
362
  border: none;
363
  margin: 0;
364
+ padding: 10mm; /* Apply print padding here */
 
 
365
  page-break-after: always;
366
  display: block; /* Block display for better page breaking */
367
  overflow: visible; /* Show all content */
 
370
  page-break-after: avoid;
371
  }
372
  .page-title {
373
+ font-size: 14pt;
374
+ margin-bottom: 6mm;
375
+ padding-bottom: 3px;
376
  text-align: left; /* Align title left for print */
377
  border-bottom: 1px solid #666;
378
  }
379
  .content-grid {
380
+ display: block; /* Change to block for print to allow natural flow within columns */
381
  height: auto;
382
  overflow: visible;
383
+ /* General setting for most pages */
384
+ column-count: 2;
385
+ column-gap: 8mm;
386
  column-fill: auto; /* Balance columns */
387
  }
388
+
389
+ /* Specific print layout overrides */
390
+ /* Page 2: Special flex layout for staff/schedule */
391
+ .page.a4-landscape:nth-child(2) .content-grid {
392
+ display: flex;
393
+ flex-wrap: wrap; /* Allow items to wrap */
394
+ gap: 5mm;
395
+ column-count: unset; /* Disable column-count */
396
+ }
397
+ .page.a4-landscape:nth-child(2) .grid-item {
398
+ flex-basis: calc(50% - 2.5mm); /* Adjust basis for the flex gap */
399
+ max-width: calc(50% - 2.5mm);
400
+ margin-bottom: 0; /* Remove column-based margin */
401
+ break-inside: avoid-column; /* Prevent item from breaking across columns */
402
+ }
403
+
404
+ /* Page 6: Single column layout for P-ken details */
405
+ .page.a4-landscape:nth-child(6) .content-grid {
406
+ column-count: 1;
407
+ column-gap: unset;
408
+ }
409
+ .page.a4-landscape:nth-child(6) .grid-item {
410
+ width: 100%;
411
+ max-width: 100%;
412
+ margin-bottom: 5mm; /* Keep some space below the item */
413
+ break-inside: avoid-page; /* Try to keep content on one page if possible */
414
+ }
415
+ /* Ensure flex-container works within the single column */
416
+ .page.a4-landscape:nth-child(6) .flex-container {
417
+ display: flex; /* Keep flex */
418
+ gap: 5mm; /* Smaller gap for print */
419
+ }
420
+ .page.a4-landscape:nth-child(6) .flex-item {
421
+ flex: 1;
422
+ }
423
+
424
+
425
+ /* General grid item style for print */
426
  .grid-item {
427
  border: 1px solid #ccc;
428
+ padding: 6px 8px;
429
+ width: 100%; /* Full width within its column or flex container */
430
  max-width: none;
431
+ margin-bottom: 5mm; /* Space between items vertically in column layout */
432
+ break-inside: avoid; /* Try to keep item content together */
433
  overflow: visible; /* Show all content */
434
+ font-size: 9pt;
435
+ line-height: 1.3;
436
+ /* Override flex properties for print where block/columns are used */
437
+ display: block;
 
 
438
  }
439
+
440
+
441
+ .grid-item h4 { font-size: 10.5pt; margin: 0 0 6px 0; padding-bottom: 2px; }
442
+ .grid-item h5 { font-size: 9.5pt; margin: 4px 0 3px 0; }
443
+
444
+ .visual-area { padding: 5px; min-height: 25px; margin-bottom: 5px; }
445
+ .visual-area.small { min-height: 18px; padding: 4px; margin-bottom: 4px; }
446
+ .map-placeholder { min-height: 50px; }
447
+ .unit-placeholder { min-height: 50px; }
448
+
449
+ .staff-info { gap: 5px; margin-top: 4px; margin-bottom: 4px;}
450
+ .staff-item { padding: 4px 3px; min-width: 70px;}
451
+ .face-photo { width: 28px; height: 28px; margin: 0 auto 2px auto; }
452
+ .face-photo i { font-size: 1.1em; }
453
+ .staff-item p { font-size: 7.5pt; line-height: 1.1; }
454
+ .staff-name { font-size: 8pt; }
455
+ .highlight { font-size: 6.5pt !important; padding: 1px 3px; }
456
+
457
+ .schedule-card { gap: 4px; }
458
+ .schedule-group h5 { margin-bottom: 2px; }
459
+ .schedule-group ul { margin-top: 2px; }
460
+ .schedule-group li { font-size: 8pt; margin-bottom: 1px; }
461
+ .time { width: 35px; margin-right: 3px; font-size: 8pt; flex-shrink: 0; }
462
+ .schedule-group li span:not(.time) { display: inline; } /* Prevent extra line break */
463
+
464
+
465
+ .checklist li { margin-bottom: 1.5px; font-size: 8pt; }
466
+ .checklist i.far { font-size: 0.9em; margin-right: 3px; width: 11px;}
467
+ .priority { width: 13px; height: 13px; line-height: 13px; font-size: 6pt; margin-right: 3px;}
468
+
469
+ .compact-list li { margin-bottom: 1px; font-size: 8pt; line-height: 1.2; }
470
+ .no-bullet li i { margin-right: 3px; width: 10px; margin-top: 1px; font-size: 0.9em;}
471
+ .compact-list.two-column, .compact-list.two-column-small { column-gap: 6mm; }
472
+ .compact-list.two-column li, .compact-list.two-column-small li {
473
+ break-inside: avoid-column; padding-bottom: 1px; /* Reduced padding */
474
+ margin-bottom: 1px; /* Reduced margin */
475
+ }
476
+
477
+
478
+ .sub-list { padding-left: 6px; margin: 2px 0 3px 4px; border-left: 1px solid #e0e0e0; } /* Reduced margins */
479
+ .sub-list li { font-size: 7.5pt; margin-bottom: 0.5px; padding-left: 5px;}
480
+ .sub-list li::before { left: -2.5px; font-size: 0.8em;}
481
+
482
+ .special-box { padding: 5px 7px; margin-top: 5px; border-radius: 3px;}
483
+ .special-box p { font-size: 9pt; margin-bottom: 2px; }
484
+ .special-box p i { font-size: 0.9em; margin-right: 3px;}
485
+ .special-box .compact-list li { font-size: 7.5pt; margin-bottom: 1px; } /* Reduced margin */
486
+ .special-box.small-box { padding: 4px 6px; margin-top: 4px; }
487
+ .special-box.small-box p { font-size: 8.5pt; margin-bottom: 2px; }
488
+ .special-box.small-box .compact-list li { font-size: 7.5pt; margin-bottom: 1px; } /* Reduced margin */
489
+
490
+
491
+ .waste-bins { gap: 3px; margin-top: 3px; }
492
+ .bin { padding: 4px 3px; font-size: 7pt; min-height: 30px;}
493
+ .bin i { font-size: 1.2em; margin-bottom: 1px; }
494
+ .bin small { font-size: 0.75em; line-height: 1.1; }
495
+
496
+ .rewritable-area { padding: 4px; margin-top: 4px; }
497
+ .rewritable-area p { margin-bottom: 2px; font-size: 8pt;}
498
+ .memo-lines { min-height: 2.5em; line-height: 1.1em;}
499
+ .memo-lines hr { border: none; border-top: 1px dotted #ced4da; margin: 0.2em 0; } /* Further reduced margin */
500
+
501
+ .glossary { padding-top: 4px; margin-top: 4px;}
502
+ .glossary h4 { font-size: 9.5pt; margin-bottom: 2px; }
503
+ .glossary ul { line-height: 1.2; }
504
+ .glossary .term { font-size: 8pt; }
505
+
506
+ .note { font-size: 8pt; margin-top: 4px; line-height: 1.2; } /* Reduced line height */
507
+ .note i { margin-right: 3px; }
508
+
509
+ /* Ensure hr fits within print columns */
510
+ hr { border-top: 1px solid #e0e0e0; margin: 6px 0; }
 
 
 
511
 
512
  .page-footer {
513
  position: absolute;
514
  bottom: 3mm; /* Position relative to the @page margin */
515
+ right: 5mm;
516
+ font-size: 7pt;
517
  color: #777;
518
  }
519
 
 
521
  body > header, body > nav, body > footer, .manual-container > h1 {
522
  display: none;
523
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
524
  }