File size: 4,260 Bytes
184fe1e
6858e31
4c1d2cd
 
 
 
0ea575d
4c1d2cd
0439da7
 
4c1d2cd
 
 
65eba5f
 
4c1d2cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
063f5af
0ea575d
 
 
f80fd9f
 
 
063f5af
6858e31
063f5af
0ea575d
f80fd9f
 
063f5af
6858e31
063f5af
f80fd9f
063f5af
6858e31
063f5af
0ea575d
 
 
 
063f5af
6858e31
063f5af
0ea575d
 
063f5af
 
 
0ea575d
f80fd9f
 
0ea575d
 
f80fd9f
063f5af
 
 
0ea575d
6858e31
 
c280f45
0ea575d
 
 
c280f45
 
cfba965
0ea575d
f80fd9f
0ea575d
 
c280f45
 
 
0ea575d
f80fd9f
0ea575d
 
c280f45
 
 
0ea575d
 
c280f45
 
 
0ea575d
 
c280f45
 
 
0ea575d
f80fd9f
 
 
c280f45
 
 
0ea575d
 
f80fd9f
 
c280f45
 
 
 
0ea575d
f80fd9f
0ea575d
c280f45
 
 
0ea575d
c280f45
 
 
f80fd9f
c280f45
 
 
0ea575d
 
f80fd9f
c280f45
 
 
0ea575d
f80fd9f
 
c280f45
 
 
0ea575d
c280f45
 
 
0ea575d
c280f45
 
 
0ea575d
f80fd9f
0ea575d
f80fd9f
c280f45
659f9d7
 
0ea575d
 
 
 
 
 
 
 
 
f80fd9f
0ea575d
 
 
f80fd9f
 
0ea575d
 
 
 
f80fd9f
0ea575d
 
f80fd9f
 
0ea575d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f80fd9f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
659f9d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
@import "tailwindcss";

/* Card Layout Optimizations for All Screen Sizes */
.item-card {
    border: 1px solid #e5e7eb;
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
}

.item-card input,
.item-card textarea {
    font-size: 16px; /* Prevent zoom on iOS */
}

/* Enhanced spacing for larger screens */
@media (width >= 768px) {
    .item-card {
        margin-bottom: 1rem;
    }

    .item-card input,
    .item-card textarea {
        font-size: 16px;
    }
}

@media (width >= 768px) {
    .item-card .grid-cols-1 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Enhanced amount display */
.item-amount {
    text-shadow: 0 1px 2px rgb(0 0 0 / 10%);
}

/* Removed scroll enhancement and focus ring */

.quotation-print {
    max-width: 800px;
    margin: auto;
    border: 1px solid #000;
    padding: 15px;
    font-size: 12px;
    line-height: 1.3;
}

.quotation-print h2 {
    text-align: center;
    margin-bottom: 10px;
    font-size: 18px;
}

.quotation-print .section {
    margin-bottom: 8px;
}

.totals table {
    float: right;
    border: none;
    width: 100%;
    border-collapse: collapse;
}

.totals td {
    border: 1px solid #000;
    padding: 8px;
}

.disclaimer {
    color: #555;
    margin-top: 10px;
    font-size: 8px;
    text-align: justify;
    border-top: 1px solid #000;
    padding-top: 5px;
}

.quote-meta {
    text-align: right;
}

.header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.company-details h1 {
    margin: 0;
    font-size: 18px;
    color: #036;
    font-family: Arial, Helvetica, sans-serif;
}

.quotation-title h1 {
    margin: 0;
    font-size: 18px;
    color: #036;
    text-align: right;
}

.quote-meta table {
    border-collapse: collapse;
    width: 100%;
}

.quote-meta td {
    border: 1px solid #000;
    padding: 5px;
}

.customer-info {
    border: 1px solid #000;
    padding: 8px;
    margin-bottom: 10px;
    font-size: 11px;
}

.items-table-print {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 10px;
    font-size: 10px;
}

.items-table-print th,
.items-table-print td {
    border: 1px solid #000;
    padding: 4px;
    text-align: left;
}

.items-table-print thead th {
    background-color: #e0f2f7;
}

.footer {
    margin-top: 10px;
}

.notes-and-total {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
}

.notes {
    width: 60%;
    font-size: 10px;
    line-height: 1.2;
}

.totals {
    width: 35%;
}

.totals td:first-child {
    text-align: right;
}

.thank-you {
    text-align: center;
    margin-top: 10px;
    font-weight: bold;
    font-size: 12px;
}

@media print {
    html,
    body {
        height: 100%;
        margin: 0;
        padding: 0;
    }

    @page {
        size: a4;
        margin: 8mm;
    }

    body {
        font-size: 10pt;
        line-height: 1.2;
    }

    .quotation-print {
        max-width: 100%;
        padding: 10px;
        margin: auto;
        border: 1px solid #000;
        font-size: 10px;
        line-height: 1.2;
    }

    .items-table-print,
    .items-table-print tr,
    .items-table-print td {
        page-break-inside: avoid !important;
    }

    .header,
    .customer-info,
    .footer,
    .notes-and-total,
    .disclaimer,
    .thank-you {
        page-break-inside: avoid !important;
    }

    button {
        display: none;
    }

    /* Hide all content except the print modal during printing */
    body > *:not(.print-modal) {
        display: none !important;
    }

    /* Show only the print modal content */
    .print-modal {
        display: block !important;
        position: static !important;
        z-index: auto !important;
        background: white !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .print-modal > div {
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: none !important;
        background: white !important;
    }

    /* Ensure single page printing */
    .print-modal .quotation-print {
        page-break-after: avoid !important;
        page-break-before: avoid !important;
        margin: 0 !important;
        padding: 8px !important;
    }
}