PluginProbe
Easy Invoice – Invoice Generator, PDF Quotes & Payments / 2.3.4
Easy Invoice – Invoice Generator, PDF Quotes & Payments v2.3.4
2.4.0 2.4.1 2.3.8 2.3.7 2.3.6 2.3.5 2.3.4 2.3.3 2.3.2 2.3.1 2.2.0 2.1.21 2.1.20 2.1.19 2.1.18 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.2 All 57 releases
easy-invoice / assets / templates / base.css

base.css in Easy Invoice – Invoice Generator, PDF Quotes & Payments 2.3.4, at assets/templates/base.css

214 lines 4.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /*
2 * Base Template Styles
3 * Common styles and variables for all invoice templates
4 */
5
6 :root {
7 /* Colors */
8 --color-primary: #4f46e5;
9 --color-primary-light: #eef2ff;
10 --color-secondary: #6b7280;
11 --color-text: #1f2937;
12 --color-text-light: #4b5563;
13 --color-background: #ffffff;
14 --color-background-alt: #f9fafb;
15 --color-border: #e5e7eb;
16 --color-success: #10b981;
17 --color-warning: #f59e0b;
18 --color-error: #ef4444;
19
20 /* Typography */
21 --font-primary: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
22 --font-size-base: 16px;
23 --font-size-sm: 0.875rem;
24 --font-size-lg: 1.125rem;
25 --font-size-xl: 1.25rem;
26 --font-size-2xl: 1.5rem;
27 --line-height-base: 1.5;
28 --line-height-tight: 1.25;
29
30 /* Spacing */
31 --spacing-unit: 1rem;
32 --spacing-sm: 0.5rem;
33 --spacing-md: 1rem;
34 --spacing-lg: 1.5rem;
35 --spacing-xl: 2rem;
36 --spacing-2xl: 2.5rem;
37
38 /* Border Radius */
39 --radius-sm: 0.25rem;
40 --radius-md: 0.375rem;
41 --radius-lg: 0.5rem;
42
43 /* Shadows */
44 --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
45 --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
46 --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
47
48 /* Breakpoints */
49 --breakpoint-sm: 640px;
50 --breakpoint-md: 768px;
51 --breakpoint-lg: 1024px;
52 }
53
54 /* Base Template Styles */
55 .template-base {
56 font-family: var(--font-primary);
57 font-size: var(--font-size-base);
58 line-height: var(--line-height-base);
59 color: var(--color-text);
60 background-color: var(--color-background);
61 max-width: 800px;
62 margin: 0 auto;
63 padding: var(--spacing-xl);
64 }
65
66 /* Typography */
67 .template-base h1 {
68 font-size: var(--font-size-2xl);
69 font-weight: 600;
70 color: var(--color-text);
71 margin-bottom: var(--spacing-lg);
72 }
73
74 .template-base h2 {
75 font-size: var(--font-size-xl);
76 font-weight: 500;
77 color: var(--color-text);
78 margin-bottom: var(--spacing-md);
79 }
80
81 /* Tables */
82 .template-base table {
83 width: 100%;
84 border-collapse: collapse;
85 margin: var(--spacing-lg) 0;
86 }
87
88 .template-base table thead {
89 background-color: var(--color-background-alt);
90 }
91
92 .template-base table th {
93 padding: var(--spacing-md);
94 text-align: left;
95 font-weight: 500;
96 color: var(--color-text-light);
97 font-size: var(--font-size-sm);
98 border-bottom: 1px solid var(--color-border);
99 }
100
101 .template-base table td {
102 padding: var(--spacing-md);
103 border-bottom: 1px solid var(--color-border);
104 vertical-align: top;
105 }
106
107 /* Invoice Sections */
108 .template-base .invoice-header {
109 margin-bottom: var(--spacing-xl);
110 }
111
112 .template-base .invoice-content {
113 margin-bottom: var(--spacing-xl);
114 }
115
116 .template-base .invoice-totals {
117 margin-top: var(--spacing-xl);
118 text-align: right;
119 }
120
121 .template-base .invoice-total-row {
122 display: flex;
123 justify-content: flex-end;
124 margin-bottom: var(--spacing-sm);
125 }
126
127 .template-base .invoice-total-label {
128 width: 150px;
129 font-weight: 500;
130 color: var(--color-text-light);
131 }
132
133 .template-base .invoice-grand-total {
134 font-weight: 600;
135 font-size: var(--font-size-lg);
136 color: var(--color-text);
137 }
138
139 .template-base .invoice-footer {
140 margin-top: var(--spacing-xl);
141 padding-top: var(--spacing-md);
142 border-top: 1px solid var(--color-border);
143 color: var(--color-text-light);
144 font-size: var(--font-size-sm);
145 }
146
147 /* Responsive Design */
148 @media (max-width: 768px) {
149 .template-base {
150 padding: var(--spacing-md);
151 }
152
153 .template-base table {
154 display: block;
155 overflow-x: auto;
156 }
157
158 .template-base .invoice-totals {
159 width: 100%;
160 }
161 }
162
163 /* Print Styles */
164 @media print {
165 .template-base {
166 background: none;
167 box-shadow: none;
168 padding: 0;
169 }
170
171 .template-base .no-print {
172 display: none;
173 }
174
175 .template-base table {
176 page-break-inside: avoid;
177 }
178
179 .template-base .invoice-totals {
180 page-break-inside: avoid;
181 }
182 }
183
184 /* Accessibility */
185 .template-base a:focus {
186 outline: 2px solid var(--color-primary);
187 outline-offset: 2px;
188 }
189
190 .template-base button:focus {
191 outline: 2px solid var(--color-primary);
192 outline-offset: 2px;
193 }
194
195 /* Utility Classes */
196 .template-base .text-right {
197 text-align: right;
198 }
199
200 .template-base .text-center {
201 text-align: center;
202 }
203
204 .template-base .font-bold {
205 font-weight: 600;
206 }
207
208 .template-base .text-sm {
209 font-size: var(--font-size-sm);
210 }
211
212 .template-base .text-lg {
213 font-size: var(--font-size-lg);
214 }