@@ -121,18 +121,18 @@
122@row [spacing 0, min-height 100vh]
122@row [spacing 0, min-height 100vh]
124− @column [width 260, background white, dark:background #0f172a, border-right 1 solid $--border, dark:border-right 1 solid #1e293b, padding $--gap, spacing $--gap-sm]
124+ @el [width 260, background white, dark:background #0f172a, border-right 1 solid $--border, dark:border-right 1 solid #1e293b, padding $--gap, spacing $--gap-sm]
126 @row [spacing 12, padding 8, align-items center]
126 @row [spacing 12, padding 8, align-items center]
127 @avatar [initials HL, size 36]
127 @avatar [initials HL, size 36]
128− @column [spacing 2]
128+ @el [spacing 2]
129 @text [font-weight bold, font-size 16, color $--dark, dark:color white] htmlang
129 @text [font-weight bold, font-size 16, color $--dark, dark:color white] htmlang
130 @text [font-size 12, color $--gray] Dashboard v2.0
130 @text [font-size 12, color $--gray] Dashboard v2.0
134 @sidebar-section [title Navigation]
134 @sidebar-section [title Navigation]
135− @column [spacing 2]
135+ @el [spacing 2]
136 @nav-link [url /dashboard, label Dashboard, active true]
136 @nav-link [url /dashboard, label Dashboard, active true]
137 @nav-link [url /analytics, label Analytics]
137 @nav-link [url /analytics, label Analytics]
138 @nav-link [url /projects, label Projects]
138 @nav-link [url /projects, label Projects]
@@ -143,13 +143,13 @@
143 @nav-link [url /settings, label Settings]
143 @nav-link [url /settings, label Settings]
145 @sidebar-section [title Favorites]
145 @sidebar-section [title Favorites]
146− @column [spacing 2]
146+ @el [spacing 2]
147 @nav-link [url /project/alpha, label Project Alpha]
147 @nav-link [url /project/alpha, label Project Alpha]
148 @nav-link [url /project/beta, label Project Beta]
148 @nav-link [url /project/beta, label Project Beta]
149 @nav-link [url /reports/q4, label Q4 Reports]
149 @nav-link [url /reports/q4, label Q4 Reports]
151 @sidebar-section [title Shortcuts]
151 @sidebar-section [title Shortcuts]
152− @column [spacing 4]
152+ @el [spacing 4]
153 @row [spacing 8, align-items center]
153 @row [spacing 8, align-items center]
154 @el [width 6, height 6, border-radius 50%, background $--secondary]
154 @el [width 6, height 6, border-radius 50%, background $--secondary]
155 @text [font-size 13, color $--gray] Online (12)
155 @text [font-size 13, color $--gray] Online (12)
@@ -163,15 +163,15 @@
163 @el [margin-top auto, padding 12, background #f1f5f9, dark:background #1e293b, border-radius $--radius]
163 @el [margin-top auto, padding 12, background #f1f5f9, dark:background #1e293b, border-radius $--radius]
164 @row [spacing 8, align-items center]
164 @row [spacing 8, align-items center]
165 @avatar [initials JD, size 28]
165 @avatar [initials JD, size 28]
166− @column [spacing 0]
166+ @el [spacing 0]
167 @text [font-size 13, font-weight bold, color $--dark, dark:color white] Jane Doe
167 @text [font-size 13, font-weight bold, color $--dark, dark:color white] Jane Doe
168 @text [font-size 11, color $--gray] jane@example.com
168 @text [font-size 11, color $--gray] jane@example.com
170− @column [width fill, background $--light, dark:background #0f172a]
170+ @el [width fill, background $--light, dark:background #0f172a]
172 @header [padding 12 24, background white, dark:background #0f172a, border-bottom 1 solid $--border, dark:border-bottom 1 solid #1e293b]
172 @header [padding 12 24, background white, dark:background #0f172a, border-bottom 1 solid $--border, dark:border-bottom 1 solid #1e293b]
173 @row [spacing 16, align-items center]
173 @row [spacing 16, align-items center]
174− @column [spacing 2]
174+ @el [spacing 2]
175 @row [spacing 8]
175 @row [spacing 8]
176 @breadcrumb-item [url /, label Home]
176 @breadcrumb-item [url /, label Home]
177 @breadcrumb-item [url /dashboard, label Dashboard, is-last true]
177 @breadcrumb-item [url /dashboard, label Dashboard, is-last true]
@@ -205,21 +205,21 @@
205 @el [width fill, height $height%, background $--primary, hover:background #2563eb, border-radius 4 4 0 0, transition all 0.2s, min-width 20]
205 @el [width fill, height $height%, background $--primary, hover:background #2563eb, border-radius 4 4 0 0, transition all 0.2s, min-width 20]
207 @card [title Activity Feed]
207 @card [title Activity Feed]
208− @column [spacing 12, margin-top 12]
208+ @el [spacing 12, margin-top 12]
209 @each $member in $team-members
209 @each $member in $team-members
210 @row [spacing 12, align-items center, padding 8, hover:background #f8fafc, dark:hover:background #1e293b, border-radius 6]
210 @row [spacing 12, align-items center, padding 8, hover:background #f8fafc, dark:hover:background #1e293b, border-radius 6]
211 @avatar [initials $member, size 32]
211 @avatar [initials $member, size 32]
212− @column [spacing 2, width fill]
212+ @el [spacing 2, width fill]
213 @text [font-size 14, font-weight bold, color $--dark, dark:color white] $member
213 @text [font-size 14, font-weight bold, color $--dark, dark:color white] $member
214 @text [font-size 12, color $--gray] Updated project files
214 @text [font-size 12, color $--gray] Updated project files
215 @text [font-size 11, color $--gray] 2h ago
215 @text [font-size 11, color $--gray] 2h ago
217 @row [spacing $--gap, margin-top $--gap-lg, sm:flex-direction column, lg:flex-direction row]
217 @row [spacing $--gap, margin-top $--gap-lg, sm:flex-direction column, lg:flex-direction row]
219− @column [width fill, spacing $--gap]
219+ @el [width fill, spacing $--gap]
221 @card [title Project Status]
221 @card [title Project Status]
222− @column [spacing 0, margin-top 12]
222+ @el [spacing 0, margin-top 12]
223 @row [spacing 0, padding 8 16, background #f8fafc, dark:background #0f172a, border-bottom 1 solid $--border]
223 @row [spacing 0, padding 8 16, background #f8fafc, dark:background #0f172a, border-bottom 1 solid $--border]
224 @el [width 200]
224 @el [width 200]
225 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase] Project
225 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase] Project
@@ -237,16 +237,16 @@
237 @table-row [col1 Project Epsilon, col2 On Hold, col3 45%, col4 Feb 28 2026]
237 @table-row [col1 Project Epsilon, col2 On Hold, col3 45%, col4 Feb 28 2026]
239 @card [title Progress Breakdown]
239 @card [title Progress Breakdown]
240− @column [spacing 12, margin-top 12]
240+ @el [spacing 12, margin-top 12]
241 @each $project in $projects
241 @each $project in $projects
242− @column [spacing 4]
242+ @el [spacing 4]
243 @row [spacing 0]
243 @row [spacing 0]
244 @text [font-size 13, color $--dark, dark:color white, width fill] $project
244 @text [font-size 13, color $--dark, dark:color white, width fill] $project
245 @text [font-size 13, color $--gray] 67%
245 @text [font-size 13, color $--gray] 67%
246 @progress-bar [percent 67, color var(--primary)]
246 @progress-bar [percent 67, color var(--primary)]
248 @card [title Recent Activity Log]
248 @card [title Recent Activity Log]
249− @column [spacing 8, margin-top 12]
249+ @el [spacing 8, margin-top 12]
250 @let log-entries Deployed v2.3.1 to production,Merged feature/auth-redesign,Closed issue #482: Login timeout,Updated CI/CD pipeline config,Added unit tests for payment module,Reviewed PR #156: API refactor,Fixed memory leak in worker pool,Released hotfix 2.3.2
250 @let log-entries Deployed v2.3.1 to production,Merged feature/auth-redesign,Closed issue #482: Login timeout,Updated CI/CD pipeline config,Added unit tests for payment module,Reviewed PR #156: API refactor,Fixed memory leak in worker pool,Released hotfix 2.3.2
251 @each $entry, $i in $log-entries
251 @each $entry, $i in $log-entries
252 @row [spacing 12, padding 8 12, align-items center]
252 @row [spacing 12, padding 8 12, align-items center]
@@ -255,21 +255,21 @@
255 @text [font-size 14, color $--dark, dark:color white, width fill] $entry
255 @text [font-size 14, color $--dark, dark:color white, width fill] $entry
256 @text [font-size 11, color $--gray] just now
256 @text [font-size 11, color $--gray] just now
258− @column [width 340, sm:width fill, spacing $--gap]
258+ @el [width 340, sm:width fill, spacing $--gap]
260 @card [title Quick Actions]
260 @card [title Quick Actions]
261− @column [spacing 8, margin-top 12]
261+ @el [spacing 8, margin-top 12]
262 @icon-button [label New Project, color var(--primary)]
262 @icon-button [label New Project, color var(--primary)]
263 @icon-button [label Create Report, color var(--secondary)]
263 @icon-button [label Create Report, color var(--secondary)]
264 @icon-button [label Invite Member, color var(--accent)]
264 @icon-button [label Invite Member, color var(--accent)]
265 @icon-button [label View Backlog, color var(--gray)]
265 @icon-button [label View Backlog, color var(--gray)]
267 @card [title Team Members]
267 @card [title Team Members]
268− @column [spacing 8, margin-top 12]
268+ @el [spacing 8, margin-top 12]
269 @each $member in $team-members
269 @each $member in $team-members
270 @row [spacing 10, align-items center, padding 6 8, hover:background #f1f5f9, dark:hover:background #1e293b, border-radius 6, transition all 0.15s]
270 @row [spacing 10, align-items center, padding 6 8, hover:background #f1f5f9, dark:hover:background #1e293b, border-radius 6, transition all 0.15s]
271 @avatar [initials $member, size 28]
271 @avatar [initials $member, size 28]
272− @column [spacing 0, width fill]
272+ @el [spacing 0, width fill]
273 @text [font-size 13, font-weight bold, color $--dark, dark:color white] $member
273 @text [font-size 13, font-weight bold, color $--dark, dark:color white] $member
274 @text [font-size 11, color $--gray] Developer
274 @text [font-size 11, color $--gray] Developer
275 @el [width 8, height 8, border-radius 50%, background $--secondary]
275 @el [width 8, height 8, border-radius 50%, background $--secondary]
@@ -290,7 +290,7 @@
290 @tag [label api]
290 @tag [label api]
292 @card [title Notifications]
292 @card [title Notifications]
293− @column [spacing 0, margin-top 12]
293+ @el [spacing 0, margin-top 12]
294 @let notifications New deployment completed,PR review requested,Build failed on staging,Meeting in 30 minutes,Subscription renewal due
294 @let notifications New deployment completed,PR review requested,Build failed on staging,Meeting in 30 minutes,Subscription renewal due
295 @each $note in $notifications
295 @each $note in $notifications
296 @row [spacing 10, padding 10 12, border-bottom 1 solid $--border, dark:border-bottom 1 solid #334155, align-items center]
296 @row [spacing 10, padding 10 12, border-bottom 1 solid $--border, dark:border-bottom 1 solid #334155, align-items center]
@@ -299,7 +299,7 @@
299 @text [font-size 11, color $--gray] now
299 @text [font-size 11, color $--gray] now
301 @card [title Settings]
301 @card [title Settings]
302− @column [spacing 12, margin-top 12]
302+ @el [spacing 12, margin-top 12]
303 @row [spacing 0, align-items center]
303 @row [spacing 0, align-items center]
304 @text [font-size 14, color $--dark, dark:color white, width fill] Dark Mode
304 @text [font-size 14, color $--dark, dark:color white, width fill] Dark Mode
305 @toggle [checked true]
305 @toggle [checked true]
@@ -315,7 +315,7 @@
316 @el [margin-top $--gap-lg]
316 @el [margin-top $--gap-lg]
317 @card [title Data Table]
317 @card [title Data Table]
318− @column [spacing 0, margin-top 12]
318+ @el [spacing 0, margin-top 12]
319 @row [spacing 16, margin-bottom 12, align-items center]
319 @row [spacing 16, margin-bottom 12, align-items center]
320 @input [type=search, placeholder=Filter results..., padding 8 12, border-radius 6, border 1 solid $--border, width 240]
320 @input [type=search, placeholder=Filter results..., padding 8 12, border-radius 6, border 1 solid $--border, width 240]
321 @el [width fill]
321 @el [width fill]
@@ -363,33 +363,33 @@
364 @footer [padding $--gap-lg 24, background white, dark:background #0f172a, border-top 1 solid $--border, dark:border-top 1 solid #1e293b]
364 @footer [padding $--gap-lg 24, background white, dark:background #0f172a, border-top 1 solid $--border, dark:border-top 1 solid #1e293b]
365 @row [spacing $--gap-lg, sm:flex-direction column, lg:flex-direction row]
365 @row [spacing $--gap-lg, sm:flex-direction column, lg:flex-direction row]
366− @column [spacing 8, width fill]
366+ @el [spacing 8, width fill]
367 @text [font-weight bold, font-size 14, color $--dark, dark:color white] htmlang Dashboard
367 @text [font-weight bold, font-size 14, color $--dark, dark:color white] htmlang Dashboard
368 @text [font-size 12, color $--gray] Built with htmlang - a declarative HTML language
368 @text [font-size 12, color $--gray] Built with htmlang - a declarative HTML language
369 @text [font-size 11, color $--gray] Copyright 2025 htmlang contributors
369 @text [font-size 11, color $--gray] Copyright 2025 htmlang contributors
371− @column [spacing 4]
371+ @el [spacing 4]
372 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Product
372 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Product
373 @link [color $--gray, hover:color $--primary, font-size 13] /features Features
373 @link [color $--gray, hover:color $--primary, font-size 13] /features Features
374 @link [color $--gray, hover:color $--primary, font-size 13] /pricing Pricing
374 @link [color $--gray, hover:color $--primary, font-size 13] /pricing Pricing
375 @link [color $--gray, hover:color $--primary, font-size 13] /changelog Changelog
375 @link [color $--gray, hover:color $--primary, font-size 13] /changelog Changelog
376 @link [color $--gray, hover:color $--primary, font-size 13] /roadmap Roadmap
376 @link [color $--gray, hover:color $--primary, font-size 13] /roadmap Roadmap
378− @column [spacing 4]
378+ @el [spacing 4]
379 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Resources
379 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Resources
380 @link [color $--gray, hover:color $--primary, font-size 13] /docs Documentation
380 @link [color $--gray, hover:color $--primary, font-size 13] /docs Documentation
381 @link [color $--gray, hover:color $--primary, font-size 13] /api API Reference
381 @link [color $--gray, hover:color $--primary, font-size 13] /api API Reference
382 @link [color $--gray, hover:color $--primary, font-size 13] /guides Guides
382 @link [color $--gray, hover:color $--primary, font-size 13] /guides Guides
383 @link [color $--gray, hover:color $--primary, font-size 13] /examples Examples
383 @link [color $--gray, hover:color $--primary, font-size 13] /examples Examples
385− @column [spacing 4]
385+ @el [spacing 4]
386 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Company
386 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Company
387 @link [color $--gray, hover:color $--primary, font-size 13] /about About
387 @link [color $--gray, hover:color $--primary, font-size 13] /about About
388 @link [color $--gray, hover:color $--primary, font-size 13] /blog Blog
388 @link [color $--gray, hover:color $--primary, font-size 13] /blog Blog
389 @link [color $--gray, hover:color $--primary, font-size 13] /careers Careers
389 @link [color $--gray, hover:color $--primary, font-size 13] /careers Careers
390 @link [color $--gray, hover:color $--primary, font-size 13] /contact Contact
390 @link [color $--gray, hover:color $--primary, font-size 13] /contact Contact
392− @column [spacing 4]
392+ @el [spacing 4]
393 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Legal
393 @text [font-weight bold, font-size 12, color $--gray, text-transform uppercase, margin-bottom 4] Legal
394 @link [color $--gray, hover:color $--primary, font-size 13] /privacy Privacy Policy
394 @link [color $--gray, hover:color $--primary, font-size 13] /privacy Privacy Policy
395 @link [color $--gray, hover:color $--primary, font-size 13] /terms Terms of Service
395 @link [color $--gray, hover:color $--primary, font-size 13] /terms Terms of Service