Various CSS work

This commit is contained in:
Janus C. H. Knudsen 2026-01-12 22:10:57 +01:00
parent ef174af0e1
commit 15579acba8
52 changed files with 8001 additions and 944 deletions

View file

@ -0,0 +1,776 @@
<!DOCTYPE html>
<html lang="da">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS Analysis Report - PlanTempus</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
color: #333;
background: #f5f5f5;
padding: 20px;
}
.container {
max-width: 1200px;
margin: 0 auto;
background: white;
padding: 40px;
border-radius: 8px;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
h1 {
color: #14b8a6;
margin-bottom: 10px;
font-size: 2.5em;
}
.subtitle {
color: #666;
margin-bottom: 30px;
font-size: 1.1em;
}
.summary {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin-bottom: 40px;
}
.stat-card {
background: linear-gradient(135deg, #14b8a6 0%, #0d9488 100%);
color: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.stat-card.warning {
background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}
.stat-card.info {
background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);
}
.stat-card.success {
background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
}
.stat-value {
font-size: 2.5em;
font-weight: bold;
margin: 10px 0;
}
.stat-label {
font-size: 0.9em;
opacity: 0.9;
}
section {
margin-bottom: 40px;
}
h2 {
color: #333;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid #14b8a6;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th, td {
padding: 12px;
text-align: left;
border-bottom: 1px solid #ddd;
}
th {
background: #f8f9fa;
font-weight: 600;
color: #555;
}
tr:hover {
background: #f8f9fa;
}
.file-detail {
background: #f8f9fa;
padding: 15px;
border-radius: 4px;
margin-bottom: 15px;
}
.rejected-list {
max-height: 200px;
overflow-y: auto;
background: white;
padding: 10px;
border-radius: 4px;
margin-top: 10px;
font-family: 'Courier New', monospace;
font-size: 0.9em;
}
.badge {
display: inline-block;
padding: 4px 8px;
border-radius: 4px;
font-size: 0.85em;
font-weight: 600;
}
.badge-danger { background: #ffebee; color: #c62828; }
.badge-warning { background: #fff3e0; color: #ef6c00; }
.badge-success { background: #e8f5e9; color: #2e7d32; }
.timestamp {
color: #999;
font-size: 0.9em;
margin-top: 30px;
text-align: center;
}
.color-palette {
display: flex;
gap: 5px;
flex-wrap: wrap;
margin-top: 10px;
}
.color-swatch {
width: 30px;
height: 30px;
border-radius: 4px;
border: 1px solid #ddd;
}
details {
margin-top: 10px;
}
summary {
cursor: pointer;
color: #14b8a6;
font-weight: 500;
}
</style>
</head>
<body>
<div class="container">
<h1>📊 CSS Analysis Report</h1>
<p class="subtitle">PlanTempus - Production CSS Analysis</p>
<div class="summary">
<div class="stat-card">
<div class="stat-label">Total CSS Size</div>
<div class="stat-value">132.81 KB</div>
</div>
<div class="stat-card info">
<div class="stat-label">CSS Files</div>
<div class="stat-value">21</div>
</div>
<div class="stat-card info">
<div class="stat-label">Total Lines</div>
<div class="stat-value">6.033</div>
</div>
<div class="stat-card warning">
<div class="stat-label">Unused CSS Rules</div>
<div class="stat-value">61</div>
</div>
</div>
<section>
<h2>📈 CSS Statistics by File</h2>
<table>
<thead>
<tr>
<th>File</th>
<th>Size</th>
<th>Lines</th>
<th>Rules</th>
<th>Selectors</th>
<th>Properties</th>
<th>CSS Vars</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>auth.css</strong></td>
<td>23.66 KB</td>
<td>1144</td>
<td>169</td>
<td>173</td>
<td>571</td>
<td>46</td>
</tr>
<tr>
<td><strong>cash.css</strong></td>
<td>19.38 KB</td>
<td>898</td>
<td>132</td>
<td>135</td>
<td>415</td>
<td>42</td>
</tr>
<tr>
<td><strong>employees.css</strong></td>
<td>15.55 KB</td>
<td>722</td>
<td>105</td>
<td>108</td>
<td>345</td>
<td>37</td>
</tr>
<tr>
<td><strong>design-tokens.css</strong></td>
<td>9.02 KB</td>
<td>318</td>
<td>35</td>
<td>36</td>
<td>192</td>
<td>25</td>
</tr>
<tr>
<td><strong>account.css</strong></td>
<td>8.83 KB</td>
<td>402</td>
<td>60</td>
<td>63</td>
<td>173</td>
<td>31</td>
</tr>
<tr>
<td><strong>drawers.css</strong></td>
<td>6.36 KB</td>
<td>297</td>
<td>38</td>
<td>38</td>
<td>159</td>
<td>32</td>
</tr>
<tr>
<td><strong>page.css</strong></td>
<td>6.00 KB</td>
<td>276</td>
<td>38</td>
<td>40</td>
<td>117</td>
<td>35</td>
</tr>
<tr>
<td><strong>sidebar.css</strong></td>
<td>5.72 KB</td>
<td>247</td>
<td>30</td>
<td>30</td>
<td>119</td>
<td>24</td>
</tr>
<tr>
<td><strong>waitlist.css</strong></td>
<td>5.55 KB</td>
<td>251</td>
<td>30</td>
<td>30</td>
<td>131</td>
<td>31</td>
</tr>
<tr>
<td><strong>stats.css</strong></td>
<td>5.18 KB</td>
<td>232</td>
<td>30</td>
<td>32</td>
<td>78</td>
<td>27</td>
</tr>
<tr>
<td><strong>bookings.css</strong></td>
<td>4.27 KB</td>
<td>176</td>
<td>28</td>
<td>28</td>
<td>75</td>
<td>27</td>
</tr>
<tr>
<td><strong>topbar.css</strong></td>
<td>3.79 KB</td>
<td>181</td>
<td>19</td>
<td>19</td>
<td>103</td>
<td>20</td>
</tr>
<tr>
<td><strong>controls.css</strong></td>
<td>3.32 KB</td>
<td>149</td>
<td>19</td>
<td>19</td>
<td>79</td>
<td>20</td>
</tr>
<tr>
<td><strong>demo-banner.css</strong></td>
<td>2.94 KB</td>
<td>146</td>
<td>19</td>
<td>21</td>
<td>66</td>
<td>9</td>
</tr>
<tr>
<td><strong>attentions.css</strong></td>
<td>2.92 KB</td>
<td>115</td>
<td>15</td>
<td>15</td>
<td>45</td>
<td>15</td>
</tr>
<tr>
<td><strong>design-system.css</strong></td>
<td>2.30 KB</td>
<td>105</td>
<td>20</td>
<td>20</td>
<td>37</td>
<td>20</td>
</tr>
<tr>
<td><strong>tabs.css</strong></td>
<td>2.13 KB</td>
<td>95</td>
<td>11</td>
<td>11</td>
<td>42</td>
<td>19</td>
</tr>
<tr>
<td><strong>base.css</strong></td>
<td>2.06 KB</td>
<td>119</td>
<td>15</td>
<td>15</td>
<td>47</td>
<td>8</td>
</tr>
<tr>
<td><strong>notifications.css</strong></td>
<td>1.67 KB</td>
<td>70</td>
<td>8</td>
<td>8</td>
<td>27</td>
<td>8</td>
</tr>
<tr>
<td><strong>app-layout.css</strong></td>
<td>1.28 KB</td>
<td>51</td>
<td>5</td>
<td>5</td>
<td>18</td>
<td>6</td>
</tr>
<tr>
<td><strong>quick-stats.css</strong></td>
<td>0.88 KB</td>
<td>39</td>
<td>4</td>
<td>4</td>
<td>15</td>
<td>11</td>
</tr>
</tbody>
</table>
</section>
<section>
<h2>🗑️ Unused CSS by File</h2>
<div class="file-detail">
<h3>design-tokens.css</h3>
<p>
<span class="badge badge-warning">
24 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 7917 | After purge: 7639
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
.is-red<br>.is-pink<br>.is-magenta<br>.is-purple<br>.is-violet<br>.is-deep-purple<br>.is-indigo<br>.is-blue<br>.is-light-blue<br>.is-cyan<br>.is-teal<br>.is-green<br>.is-light-green<br>.is-lime<br>.is-yellow<br>.is-amber<br>.is-orange<br>.is-deep-orange<br>.status-confirmed<br>.status-pending<br>.status-inprogress<br>.status-error<br>.status-active<br>.status-inactive
</div>
</details>
</div>
<div class="file-detail">
<h3>design-system.css</h3>
<p>
<span class="badge badge-success">
11 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 2095 | After purge: 2056
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
h2<br> h3<br> h4<br> h5<br> h6<br>h2<br>h3<br>h4<br>h5<br>h6<br>:focus-visible
</div>
</details>
</div>
<div class="file-detail">
<h3>bookings.css</h3>
<p>
<span class="badge badge-success">
6 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 3924 | After purge: 3756
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
swp-booking-item.inprogress<br>swp-booking-indicator.green<br>swp-booking-status.confirmed<br>swp-booking-status.pending<br>swp-booking-status.inprogress<br>
swp-booking-status.in-progress
</div>
</details>
</div>
<div class="file-detail">
<h3>attentions.css</h3>
<p>
<span class="badge badge-success">
5 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 2524 | After purge: 2359
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
swp-attention-item.urgent<br>swp-attention-item.urgent:hover<br>swp-attention-item.info<br>swp-attention-item.urgent swp-attention-icon<br>swp-attention-item.info swp-attention-icon
</div>
</details>
</div>
<div class="file-detail">
<h3>base.css</h3>
<p>
<span class="badge badge-success">
4 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 1952 | After purge: 1930
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
ul<br> ol<br>img<br>:focus-visible
</div>
</details>
</div>
<div class="file-detail">
<h3>auth.css</h3>
<p>
<span class="badge badge-success">
4 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 23887 | After purge: 23816
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
swp-btn.social<br>swp-btn.social:hover<br>swp-btn.social img<br>swp-plan-badge.free
</div>
</details>
</div>
<div class="file-detail">
<h3>stats.css</h3>
<p>
<span class="badge badge-success">
3 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 5298 | After purge: 5229
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
swp-stat-trend.up<br>swp-stat-trend.down<br>
swp-stat-card.red swp-stat-value
</div>
</details>
</div>
<div class="file-detail">
<h3>account.css</h3>
<p>
<span class="badge badge-success">
2 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 8829 | After purge: 8777
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
swp-invoice-status.pending<br>swp-invoice-status.overdue
</div>
</details>
</div>
<div class="file-detail">
<h3>drawers.css</h3>
<p>
<span class="badge badge-success">
1 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 6485 | After purge: 6467
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
[data-drawer="xl"]
</div>
</details>
</div>
<div class="file-detail">
<h3>cash.css</h3>
<p>
<span class="badge badge-success">
1 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 19816 | After purge: 19778
</span>
</p>
<details>
<summary>Show unused selectors</summary>
<div class="rejected-list">
swp-cash-stat.user swp-cash-stat-value
</div>
</details>
</div>
<div class="file-detail">
<h3>waitlist.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 5686 | After purge: 5686
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>topbar.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 3885 | After purge: 3885
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>tabs.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 2183 | After purge: 2183
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>sidebar.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 5859 | After purge: 5859
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>quick-stats.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 899 | After purge: 899
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>page.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 6140 | After purge: 6140
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>notifications.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 1712 | After purge: 1712
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>employees.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 15923 | After purge: 15923
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>demo-banner.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 3014 | After purge: 3014
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>controls.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 3397 | After purge: 3397
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
<div class="file-detail">
<h3>app-layout.css</h3>
<p>
<span class="badge badge-success">
0 unused rules
</span>
<span style="margin-left: 10px; color: #666;">
Original: 1306 | After purge: 1306
</span>
</p>
<p style="color: #2e7d32; margin-top: 10px;">✅ No unused CSS found!</p>
</div>
</section>
<section>
<h2>💡 Recommendations</h2>
<ul style="line-height: 2;">
<li>✅ CSS usage is relatively clean.</li>
<li>📦 Consider consolidating similar styles to reduce duplication.</li>
<li>🎨 Review color usage - ensure all colors use CSS variables from design-tokens.css.</li>
<li>📋 Reference COMPONENT-CATALOG.md when adding new components to avoid duplication.</li>
</ul>
</section>
<p class="timestamp">Report generated: 12.1.2026, 21.57.11</p>
</div>
</body>
</html>

View file

@ -0,0 +1,437 @@
{
"account.css": {
"lines": 402,
"size": "8.83 KB",
"sizeBytes": 9037,
"rules": 60,
"selectors": 63,
"properties": 173,
"uniqueColors": 13,
"colors": [
"var(--color-text)",
"var(--color-teal)",
"var(--color-background-alt)",
"var(--color-text-secondary)",
"var(--color-surface)",
"var(--color-purple)",
"var(--color-amber)",
"rgba(0, 0, 0, 0.08)",
"var(--color-border)",
"var(--color-blue)"
],
"mediaQueries": 3,
"cssVariables": 31
},
"app-layout.css": {
"lines": 51,
"size": "1.28 KB",
"sizeBytes": 1306,
"rules": 5,
"selectors": 5,
"properties": 18,
"uniqueColors": 2,
"colors": [
"var(--color-background)",
"rgba(0, 0, 0, 0.5)"
],
"mediaQueries": 0,
"cssVariables": 6
},
"attentions.css": {
"lines": 115,
"size": "2.92 KB",
"sizeBytes": 2992,
"rules": 15,
"selectors": 15,
"properties": 45,
"uniqueColors": 8,
"colors": [
"var(--color-background-alt)",
"var(--color-border)",
"var(--color-background-hover)",
"var(--color-red)",
"var(--color-amber)",
"var(--color-blue)",
"var(--color-text-secondary)",
"var(--color-teal)"
],
"mediaQueries": 0,
"cssVariables": 15
},
"auth.css": {
"lines": 1144,
"size": "23.66 KB",
"sizeBytes": 24232,
"rules": 169,
"selectors": 173,
"properties": 571,
"uniqueColors": 17,
"colors": [
"var(--color-teal)",
"#00695c",
"rgba(255,255,255,0.1)",
"rgba(255,255,255,0.08)",
"var(--color-background)",
"var(--color-text)",
"var(--color-text-secondary)",
"var(--color-surface)",
"var(--color-border)",
"var(--color-purple)"
],
"mediaQueries": 3,
"cssVariables": 46
},
"base.css": {
"lines": 119,
"size": "2.06 KB",
"sizeBytes": 2105,
"rules": 15,
"selectors": 15,
"properties": 47,
"uniqueColors": 4,
"colors": [
"var(--color-text)",
"var(--color-background)",
"var(--color-teal)",
"var(--color-teal-light)"
],
"mediaQueries": 0,
"cssVariables": 8
},
"bookings.css": {
"lines": 176,
"size": "4.27 KB",
"sizeBytes": 4369,
"rules": 28,
"selectors": 28,
"properties": 75,
"uniqueColors": 10,
"colors": [
"var(--color-background-alt)",
"var(--color-background-hover)",
"var(--color-border)",
"var(--color-teal)",
"var(--color-text)",
"var(--color-text-secondary)",
"var(--color-blue)",
"var(--color-purple)",
"var(--color-amber)",
"var(--color-green)"
],
"mediaQueries": 0,
"cssVariables": 27
},
"cash.css": {
"lines": 898,
"size": "19.38 KB",
"sizeBytes": 19850,
"rules": 132,
"selectors": 135,
"properties": 415,
"uniqueColors": 14,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-text-secondary)",
"var(--color-teal)",
"var(--color-background-alt)",
"var(--color-text)",
"var(--color-amber)",
"var(--color-red)",
"var(--color-blue)",
"var(--color-background-hover)"
],
"mediaQueries": 3,
"cssVariables": 42
},
"controls.css": {
"lines": 149,
"size": "3.32 KB",
"sizeBytes": 3397,
"rules": 19,
"selectors": 19,
"properties": 79,
"uniqueColors": 8,
"colors": [
"var(--color-border)",
"var(--color-text)",
"var(--color-text-secondary)",
"var(--color-background)",
"var(--color-green)",
"var(--color-red)",
"var(--color-background-alt)",
"var(--color-teal)"
],
"mediaQueries": 0,
"cssVariables": 20
},
"demo-banner.css": {
"lines": 146,
"size": "2.94 KB",
"sizeBytes": 3014,
"rules": 19,
"selectors": 21,
"properties": 66,
"uniqueColors": 7,
"colors": [
"var(--color-teal)",
"#00796b",
"rgba(255, 255, 255, 0.95)",
"#00695c",
"rgba(0, 0, 0, 0.15)",
"rgba(255, 255, 255, 0.15)",
"rgba(255, 255, 255, 0.25)"
],
"mediaQueries": 2,
"cssVariables": 9
},
"design-system.css": {
"lines": 105,
"size": "2.30 KB",
"sizeBytes": 2356,
"rules": 20,
"selectors": 20,
"properties": 37,
"uniqueColors": 7,
"colors": [
"var(--color-text)",
"var(--color-background)",
"var(--color-text-secondary)",
"var(--color-teal)",
"var(--color-primary)",
"var(--color-border)",
"var(--color-text-muted)"
],
"mediaQueries": 0,
"cssVariables": 20
},
"design-tokens.css": {
"lines": 318,
"size": "9.02 KB",
"sizeBytes": 9235,
"rules": 35,
"selectors": 36,
"properties": 192,
"uniqueColors": 54,
"colors": [
"#fff",
"#f5f5f5",
"#f0f0f0",
"#fafafa",
"#e0e0e0",
"#333",
"#666",
"#999",
"#1976d2",
"#00897b"
],
"mediaQueries": 2,
"cssVariables": 25
},
"drawers.css": {
"lines": 297,
"size": "6.36 KB",
"sizeBytes": 6513,
"rules": 38,
"selectors": 38,
"properties": 159,
"uniqueColors": 9,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-text)",
"var(--color-text-secondary)",
"var(--color-background-alt)",
"var(--color-background-hover)",
"var(--color-teal)",
"var(--color-background)",
"var(--color-red)"
],
"mediaQueries": 0,
"cssVariables": 32
},
"employees.css": {
"lines": 722,
"size": "15.55 KB",
"sizeBytes": 15923,
"rules": 105,
"selectors": 108,
"properties": 345,
"uniqueColors": 15,
"colors": [
"var(--color-text-secondary)",
"var(--color-text)",
"var(--color-border)",
"var(--color-teal)",
"var(--color-surface)",
"rgba(0, 0, 0, 0.08)",
"var(--color-background-alt)",
"var(--color-background-hover)",
"var(--color-purple)",
"var(--color-blue)"
],
"mediaQueries": 3,
"cssVariables": 37
},
"notifications.css": {
"lines": 70,
"size": "1.67 KB",
"sizeBytes": 1712,
"rules": 8,
"selectors": 8,
"properties": 27,
"uniqueColors": 4,
"colors": [
"var(--color-background-alt)",
"var(--color-background-hover)",
"var(--color-teal)",
"var(--color-text-secondary)"
],
"mediaQueries": 0,
"cssVariables": 8
},
"page.css": {
"lines": 276,
"size": "6.00 KB",
"sizeBytes": 6141,
"rules": 38,
"selectors": 40,
"properties": 117,
"uniqueColors": 8,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-text)",
"var(--color-text-secondary)",
"var(--color-teal)",
"var(--color-purple)",
"var(--color-background)",
"var(--color-background-hover)"
],
"mediaQueries": 2,
"cssVariables": 35
},
"quick-stats.css": {
"lines": 39,
"size": "0.88 KB",
"sizeBytes": 899,
"rules": 4,
"selectors": 4,
"properties": 15,
"uniqueColors": 3,
"colors": [
"var(--color-background-alt)",
"var(--color-text)",
"var(--color-text-secondary)"
],
"mediaQueries": 0,
"cssVariables": 11
},
"sidebar.css": {
"lines": 247,
"size": "5.72 KB",
"sizeBytes": 5859,
"rules": 30,
"selectors": 30,
"properties": 119,
"uniqueColors": 9,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-teal)",
"var(--color-text)",
"var(--color-text-secondary)",
"var(--color-background-hover)",
"var(--color-teal-light)",
"var(--color-amber)",
"var(--color-red)"
],
"mediaQueries": 0,
"cssVariables": 24
},
"stats.css": {
"lines": 232,
"size": "5.18 KB",
"sizeBytes": 5301,
"rules": 30,
"selectors": 32,
"properties": 78,
"uniqueColors": 14,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-text)",
"var(--color-text-secondary)",
"var(--color-text-muted)",
"var(--color-green)",
"var(--color-red)",
"var(--color-teal)",
"var(--color-amber)",
"var(--color-purple)"
],
"mediaQueries": 2,
"cssVariables": 27
},
"tabs.css": {
"lines": 95,
"size": "2.13 KB",
"sizeBytes": 2183,
"rules": 11,
"selectors": 11,
"properties": 42,
"uniqueColors": 6,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-text-secondary)",
"var(--color-text)",
"var(--color-background-alt)",
"var(--color-teal)"
],
"mediaQueries": 0,
"cssVariables": 19
},
"topbar.css": {
"lines": 181,
"size": "3.79 KB",
"sizeBytes": 3885,
"rules": 19,
"selectors": 19,
"properties": 103,
"uniqueColors": 8,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-background)",
"var(--color-teal)",
"var(--color-text-secondary)",
"var(--color-text)",
"var(--color-background-hover)",
"var(--color-red)"
],
"mediaQueries": 0,
"cssVariables": 20
},
"waitlist.css": {
"lines": 251,
"size": "5.55 KB",
"sizeBytes": 5686,
"rules": 30,
"selectors": 30,
"properties": 131,
"uniqueColors": 9,
"colors": [
"var(--color-surface)",
"var(--color-border)",
"var(--color-teal)",
"var(--color-text-secondary)",
"var(--color-text)",
"var(--color-background-alt)",
"var(--color-background)",
"var(--color-amber)",
"var(--color-background-hover)"
],
"mediaQueries": 0,
"cssVariables": 31
}
}

View file

@ -0,0 +1,209 @@
{
"summary": {
"totalFiles": 21,
"totalOriginalSize": 132731,
"totalPurgedSize": 131811,
"totalRejected": 61,
"percentageRemoved": "0.05%",
"potentialSavings": 920
},
"fileDetails": {
"waitlist.css": {
"originalSize": 5686,
"purgedSize": 5686,
"rejectedCount": 0,
"rejected": []
},
"topbar.css": {
"originalSize": 3885,
"purgedSize": 3885,
"rejectedCount": 0,
"rejected": []
},
"tabs.css": {
"originalSize": 2183,
"purgedSize": 2183,
"rejectedCount": 0,
"rejected": []
},
"stats.css": {
"originalSize": 5298,
"purgedSize": 5229,
"rejectedCount": 3,
"rejected": [
"swp-stat-trend.up",
"swp-stat-trend.down",
"\nswp-stat-card.red swp-stat-value"
]
},
"sidebar.css": {
"originalSize": 5859,
"purgedSize": 5859,
"rejectedCount": 0,
"rejected": []
},
"quick-stats.css": {
"originalSize": 899,
"purgedSize": 899,
"rejectedCount": 0,
"rejected": []
},
"page.css": {
"originalSize": 6140,
"purgedSize": 6140,
"rejectedCount": 0,
"rejected": []
},
"notifications.css": {
"originalSize": 1712,
"purgedSize": 1712,
"rejectedCount": 0,
"rejected": []
},
"employees.css": {
"originalSize": 15923,
"purgedSize": 15923,
"rejectedCount": 0,
"rejected": []
},
"drawers.css": {
"originalSize": 6485,
"purgedSize": 6467,
"rejectedCount": 1,
"rejected": [
"[data-drawer=\"xl\"]"
]
},
"design-tokens.css": {
"originalSize": 7917,
"purgedSize": 7639,
"rejectedCount": 24,
"rejected": [
".is-red",
".is-pink",
".is-magenta",
".is-purple",
".is-violet",
".is-deep-purple",
".is-indigo",
".is-blue",
".is-light-blue",
".is-cyan",
".is-teal",
".is-green",
".is-light-green",
".is-lime",
".is-yellow",
".is-amber",
".is-orange",
".is-deep-orange",
".status-confirmed",
".status-pending",
".status-inprogress",
".status-error",
".status-active",
".status-inactive"
]
},
"design-system.css": {
"originalSize": 2095,
"purgedSize": 2056,
"rejectedCount": 11,
"rejected": [
" h2",
" h3",
" h4",
" h5",
" h6",
"h2",
"h3",
"h4",
"h5",
"h6",
":focus-visible"
]
},
"demo-banner.css": {
"originalSize": 3014,
"purgedSize": 3014,
"rejectedCount": 0,
"rejected": []
},
"controls.css": {
"originalSize": 3397,
"purgedSize": 3397,
"rejectedCount": 0,
"rejected": []
},
"cash.css": {
"originalSize": 19816,
"purgedSize": 19778,
"rejectedCount": 1,
"rejected": [
"swp-cash-stat.user swp-cash-stat-value"
]
},
"bookings.css": {
"originalSize": 3924,
"purgedSize": 3756,
"rejectedCount": 6,
"rejected": [
"swp-booking-item.inprogress",
"swp-booking-indicator.green",
"swp-booking-status.confirmed",
"swp-booking-status.pending",
"swp-booking-status.inprogress",
"\nswp-booking-status.in-progress"
]
},
"base.css": {
"originalSize": 1952,
"purgedSize": 1930,
"rejectedCount": 4,
"rejected": [
"ul",
" ol",
"img",
":focus-visible"
]
},
"auth.css": {
"originalSize": 23887,
"purgedSize": 23816,
"rejectedCount": 4,
"rejected": [
"swp-btn.social",
"swp-btn.social:hover",
"swp-btn.social img",
"swp-plan-badge.free"
]
},
"attentions.css": {
"originalSize": 2524,
"purgedSize": 2359,
"rejectedCount": 5,
"rejected": [
"swp-attention-item.urgent",
"swp-attention-item.urgent:hover",
"swp-attention-item.info",
"swp-attention-item.urgent swp-attention-icon",
"swp-attention-item.info swp-attention-icon"
]
},
"app-layout.css": {
"originalSize": 1306,
"purgedSize": 1306,
"rejectedCount": 0,
"rejected": []
},
"account.css": {
"originalSize": 8829,
"purgedSize": 8777,
"rejectedCount": 2,
"rejected": [
"swp-invoice-status.pending",
"swp-invoice-status.overdue"
]
}
}
}