softui-css 1.11.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  | Feature | Description |
34
34
  |---|---|
35
- | **65+ Components** | Buttons, Cards, Modals, Tables, Tabs, Calendar, Charts, Pricing, and more |
35
+ | **68+ Components** | Buttons, Cards, Modals, Tables, Tabs, Calendar, Charts, Pricing, and more |
36
36
  | **Dark Mode** | Add `data-theme="dark"` and everything adapts |
37
37
  | **Zero Dependencies** | Pure CSS + vanilla JS. No build step required |
38
38
  | **CSS Variables** | Fully customizable via custom properties |
package/dist/softui.css CHANGED
@@ -1,4 +1,4 @@
1
- /*! SoftUI v1.11.0 — A Neumorphic CSS Library */
1
+ /*! SoftUI v1.13.0 — A Neumorphic CSS Library */
2
2
 
3
3
  /* ===========================================
4
4
  CSS Variables / Tokens
@@ -2508,6 +2508,109 @@ a.sui-btn-warning:visited {
2508
2508
  background: var(--sui-danger);
2509
2509
  }
2510
2510
 
2511
+ /* ===========================================
2512
+ Radio Card / Checkbox Card
2513
+ =========================================== */
2514
+ .sui-radio-card,
2515
+ .sui-checkbox-card {
2516
+ position: relative;
2517
+ display: block;
2518
+ cursor: pointer;
2519
+ }
2520
+
2521
+ .sui-radio-card input,
2522
+ .sui-checkbox-card input {
2523
+ position: absolute;
2524
+ opacity: 0;
2525
+ width: 0;
2526
+ height: 0;
2527
+ }
2528
+
2529
+ .sui-radio-card .sui-radio-card-content,
2530
+ .sui-checkbox-card .sui-checkbox-card-content {
2531
+ display: flex;
2532
+ align-items: flex-start;
2533
+ gap: 14px;
2534
+ padding: 16px 20px;
2535
+ background: var(--sui-bg);
2536
+ border-radius: var(--sui-radius-sm);
2537
+ box-shadow: var(--sui-shadow-raised-sm);
2538
+ transition: box-shadow var(--sui-transition-fast), transform var(--sui-transition-fast);
2539
+ }
2540
+
2541
+ .sui-radio-card:hover .sui-radio-card-content,
2542
+ .sui-checkbox-card:hover .sui-checkbox-card-content {
2543
+ transform: translateY(-2px);
2544
+ box-shadow: var(--sui-shadow-raised);
2545
+ }
2546
+
2547
+ .sui-radio-card input:checked ~ .sui-radio-card-content,
2548
+ .sui-checkbox-card input:checked ~ .sui-checkbox-card-content {
2549
+ box-shadow: 0 0 0 2px var(--sui-primary), var(--sui-shadow-raised-sm);
2550
+ }
2551
+
2552
+ /* Check indicator */
2553
+ .sui-radio-card .sui-radio-card-content::before,
2554
+ .sui-checkbox-card .sui-checkbox-card-content::before {
2555
+ content: '';
2556
+ width: 20px;
2557
+ height: 20px;
2558
+ flex-shrink: 0;
2559
+ border-radius: 50%;
2560
+ box-shadow: var(--sui-shadow-inset-sm);
2561
+ background: var(--sui-bg);
2562
+ background-repeat: no-repeat;
2563
+ background-position: center;
2564
+ transition: background-color var(--sui-transition-fast), box-shadow var(--sui-transition-fast);
2565
+ margin-top: 2px;
2566
+ }
2567
+
2568
+ .sui-checkbox-card .sui-checkbox-card-content::before {
2569
+ border-radius: var(--sui-radius-xs);
2570
+ }
2571
+
2572
+ .sui-radio-card input:checked ~ .sui-radio-card-content::before {
2573
+ background-color: var(--sui-primary);
2574
+ box-shadow: none;
2575
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Ccircle cx='5' cy='5' r='3' fill='%23fff'/%3E%3C/svg%3E");
2576
+ background-size: 10px;
2577
+ }
2578
+
2579
+ .sui-checkbox-card input:checked ~ .sui-checkbox-card-content::before {
2580
+ background-color: var(--sui-primary);
2581
+ box-shadow: none;
2582
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
2583
+ background-size: 11px;
2584
+ }
2585
+
2586
+ .sui-radio-card input:focus-visible ~ .sui-radio-card-content,
2587
+ .sui-checkbox-card input:focus-visible ~ .sui-checkbox-card-content {
2588
+ outline: 2px solid var(--sui-primary);
2589
+ outline-offset: 2px;
2590
+ }
2591
+
2592
+ .sui-radio-card input:disabled ~ .sui-radio-card-content,
2593
+ .sui-checkbox-card input:disabled ~ .sui-checkbox-card-content {
2594
+ opacity: 0.5;
2595
+ cursor: not-allowed;
2596
+ transform: none;
2597
+ }
2598
+
2599
+ /* Card body text */
2600
+ .sui-radio-card-title,
2601
+ .sui-checkbox-card-title {
2602
+ font-weight: 600;
2603
+ font-size: 14px;
2604
+ color: var(--sui-text);
2605
+ margin-bottom: 2px;
2606
+ }
2607
+
2608
+ .sui-radio-card-desc,
2609
+ .sui-checkbox-card-desc {
2610
+ font-size: 13px;
2611
+ color: var(--sui-text-muted);
2612
+ }
2613
+
2511
2614
  /* ===========================================
2512
2615
  Badges — Positioned (notification dot)
2513
2616
  =========================================== */
@@ -7000,6 +7103,39 @@ select.sui-datatable-filter {
7000
7103
  .sui-sheet-backdrop.sui-sheet-static.sui-sheet-shake .sui-sheet-top { transform: translateY(8px); }
7001
7104
  .sui-sheet-backdrop.sui-sheet-static.sui-sheet-shake .sui-sheet-bottom { transform: translateY(-8px); }
7002
7105
 
7106
+ /* Drawer (bottom sheet with drag handle) */
7107
+ .sui-drawer .sui-sheet-bottom {
7108
+ height: auto;
7109
+ max-height: 85vh;
7110
+ transition: transform var(--sui-transition-base) ease;
7111
+ }
7112
+
7113
+ .sui-drawer-handle {
7114
+ display: flex;
7115
+ justify-content: center;
7116
+ padding: 10px 0 6px;
7117
+ cursor: grab;
7118
+ }
7119
+
7120
+ .sui-drawer-handle::after {
7121
+ content: '';
7122
+ width: 36px;
7123
+ height: 4px;
7124
+ border-radius: var(--sui-radius-full);
7125
+ background: var(--sui-bg-dark);
7126
+ }
7127
+
7128
+ .sui-drawer-handle:active { cursor: grabbing; }
7129
+
7130
+ /* Drawer snap points */
7131
+ .sui-drawer .sui-sheet-bottom.sui-drawer-snap-half {
7132
+ height: 50vh;
7133
+ }
7134
+
7135
+ .sui-drawer .sui-sheet-bottom.sui-drawer-snap-full {
7136
+ height: 85vh;
7137
+ }
7138
+
7003
7139
  /* ==============================
7004
7140
  Popover
7005
7141
  ============================== */
@@ -13085,6 +13221,432 @@ select.sui-datatable-filter {
13085
13221
  /* Timeline */
13086
13222
  [dir="rtl"] .sui-timeline-separator { margin-right: 0; margin-left: 16px; }
13087
13223
 
13224
+ /* ===========================================
13225
+ Mask (clip-path shapes)
13226
+ =========================================== */
13227
+ .sui-mask {
13228
+ -webkit-clip-path: var(--sui-mask);
13229
+ clip-path: var(--sui-mask);
13230
+ }
13231
+
13232
+ .sui-mask-circle { --sui-mask: circle(50%); }
13233
+ .sui-mask-squircle { --sui-mask: polygon(50% 0%, 66% 0%, 78% 1%, 87% 4%, 93% 8%, 97% 14%, 99% 22%, 100% 34%, 100% 50%, 100% 66%, 99% 78%, 97% 86%, 93% 92%, 87% 96%, 78% 99%, 66% 100%, 50% 100%, 34% 100%, 22% 99%, 13% 96%, 7% 92%, 3% 86%, 1% 78%, 0% 66%, 0% 50%, 0% 34%, 1% 22%, 3% 14%, 7% 8%, 13% 4%, 22% 1%, 34% 0%); }
13234
+ .sui-mask-heart { --sui-mask: polygon(50% 15%, 43% 6%, 35% 1%, 25% 0%, 15% 3%, 7% 10%, 2% 20%, 0% 32%, 2% 44%, 8% 55%, 16% 65%, 26% 76%, 37% 86%, 50% 100%, 63% 86%, 74% 76%, 84% 65%, 92% 55%, 98% 44%, 100% 32%, 98% 20%, 93% 10%, 85% 3%, 75% 0%, 65% 1%, 57% 6%); }
13235
+ .sui-mask-star { --sui-mask: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
13236
+ .sui-mask-diamond { --sui-mask: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); }
13237
+ .sui-mask-hexagon { --sui-mask: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%); }
13238
+ .sui-mask-triangle { --sui-mask: polygon(50% 0%, 100% 100%, 0% 100%); }
13239
+ .sui-mask-pentagon { --sui-mask: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%); }
13240
+ .sui-mask-octagon { --sui-mask: polygon(29% 0%, 71% 0%, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0% 71%, 0% 29%); }
13241
+ .sui-mask-cross { --sui-mask: polygon(33% 0%, 67% 0%, 67% 33%, 100% 33%, 100% 67%, 67% 67%, 67% 100%, 33% 100%, 33% 67%, 0% 67%, 0% 33%, 33% 33%); }
13242
+ .sui-mask-shield { --sui-mask: polygon(50% 0%, 100% 12%, 100% 65%, 50% 100%, 0% 65%, 0% 12%); }
13243
+ .sui-mask-parallelogram { --sui-mask: polygon(20% 0%, 100% 0%, 80% 100%, 0% 100%); }
13244
+
13245
+ /* ===========================================
13246
+ Result Page
13247
+ =========================================== */
13248
+ .sui-result {
13249
+ display: flex;
13250
+ flex-direction: column;
13251
+ align-items: center;
13252
+ text-align: center;
13253
+ padding: 48px 24px;
13254
+ }
13255
+
13256
+ .sui-result-icon {
13257
+ width: 80px;
13258
+ height: 80px;
13259
+ border-radius: 50%;
13260
+ display: flex;
13261
+ align-items: center;
13262
+ justify-content: center;
13263
+ font-size: 36px;
13264
+ margin-bottom: 20px;
13265
+ box-shadow: var(--sui-shadow-raised);
13266
+ }
13267
+
13268
+ .sui-result-success .sui-result-icon { background: rgba(31, 169, 110, 0.12); color: var(--sui-success); }
13269
+ .sui-result-error .sui-result-icon { background: rgba(208, 58, 92, 0.12); color: var(--sui-danger); }
13270
+ .sui-result-warning .sui-result-icon { background: rgba(245, 166, 35, 0.12); color: var(--sui-warning); }
13271
+ .sui-result-info .sui-result-icon { background: rgba(26, 130, 212, 0.12); color: var(--sui-info); }
13272
+ .sui-result-404 .sui-result-icon { background: rgba(90, 106, 126, 0.12); color: var(--sui-text-muted); }
13273
+
13274
+ .sui-result-title {
13275
+ font-size: 22px;
13276
+ font-weight: 700;
13277
+ color: var(--sui-text);
13278
+ margin: 0 0 8px;
13279
+ }
13280
+
13281
+ .sui-result-desc {
13282
+ font-size: 14px;
13283
+ color: var(--sui-text-muted);
13284
+ max-width: 400px;
13285
+ margin: 0 0 24px;
13286
+ line-height: 1.6;
13287
+ }
13288
+
13289
+ .sui-result-actions {
13290
+ display: flex;
13291
+ gap: 12px;
13292
+ flex-wrap: wrap;
13293
+ justify-content: center;
13294
+ }
13295
+
13296
+ /* Inset variant */
13297
+ .sui-result-inset {
13298
+ background: var(--sui-bg);
13299
+ border-radius: var(--sui-radius-lg);
13300
+ box-shadow: var(--sui-shadow-inset);
13301
+ }
13302
+
13303
+ .sui-result-inset .sui-result-icon {
13304
+ box-shadow: var(--sui-shadow-inset-sm);
13305
+ }
13306
+
13307
+ /* ===========================================
13308
+ List Group
13309
+ =========================================== */
13310
+ .sui-list-group {
13311
+ list-style: none;
13312
+ padding: 0;
13313
+ margin: 0;
13314
+ border-radius: var(--sui-radius-sm);
13315
+ }
13316
+
13317
+ .sui-list-group-item {
13318
+ display: flex;
13319
+ align-items: center;
13320
+ gap: 12px;
13321
+ padding: 12px 16px;
13322
+ font-size: 14px;
13323
+ color: var(--sui-text);
13324
+ border-bottom: 1px solid var(--sui-bg-dark);
13325
+ transition: background var(--sui-transition-fast);
13326
+ text-decoration: none;
13327
+ }
13328
+
13329
+ .sui-list-group-item:last-child {
13330
+ border-bottom: none;
13331
+ }
13332
+
13333
+ a.sui-list-group-item:hover,
13334
+ button.sui-list-group-item:hover {
13335
+ background: rgba(91, 84, 224, 0.04);
13336
+ cursor: pointer;
13337
+ }
13338
+
13339
+ [data-theme="dark"] a.sui-list-group-item:hover,
13340
+ [data-theme="dark"] button.sui-list-group-item:hover {
13341
+ background: rgba(124, 107, 255, 0.08);
13342
+ }
13343
+
13344
+ .sui-list-group-item.active {
13345
+ background: rgba(91, 84, 224, 0.08);
13346
+ color: var(--sui-primary);
13347
+ font-weight: 600;
13348
+ }
13349
+
13350
+ .sui-list-group-item.disabled {
13351
+ opacity: 0.5;
13352
+ pointer-events: none;
13353
+ }
13354
+
13355
+ /* Content area */
13356
+ .sui-list-group-content {
13357
+ flex: 1;
13358
+ min-width: 0;
13359
+ }
13360
+
13361
+ .sui-list-group-title {
13362
+ font-weight: 600;
13363
+ font-size: 14px;
13364
+ }
13365
+
13366
+ .sui-list-group-desc {
13367
+ font-size: 12px;
13368
+ color: var(--sui-text-muted);
13369
+ margin-top: 2px;
13370
+ }
13371
+
13372
+ /* Icon */
13373
+ .sui-list-group-icon {
13374
+ width: 20px;
13375
+ height: 20px;
13376
+ flex-shrink: 0;
13377
+ color: var(--sui-text-muted);
13378
+ }
13379
+
13380
+ .sui-list-group-item.active .sui-list-group-icon {
13381
+ color: var(--sui-primary);
13382
+ }
13383
+
13384
+ /* Action (right side) */
13385
+ .sui-list-group-action {
13386
+ margin-inline-start: auto;
13387
+ flex-shrink: 0;
13388
+ }
13389
+
13390
+ /* Raised variant */
13391
+ .sui-list-group-raised {
13392
+ box-shadow: var(--sui-shadow-raised);
13393
+ background: var(--sui-bg);
13394
+ }
13395
+
13396
+ /* Bordered variant */
13397
+ .sui-list-group-bordered {
13398
+ border: 1px solid var(--sui-bg-dark);
13399
+ }
13400
+
13401
+ /* Inset variant */
13402
+ .sui-list-group-inset {
13403
+ box-shadow: var(--sui-shadow-inset);
13404
+ background: var(--sui-bg);
13405
+ }
13406
+
13407
+ /* Flush variant (no outer border/radius) */
13408
+ .sui-list-group-flush {
13409
+ border-radius: 0;
13410
+ }
13411
+
13412
+ /* ===========================================
13413
+ Descriptions (key-value display)
13414
+ =========================================== */
13415
+ .sui-desc {
13416
+ width: 100%;
13417
+ }
13418
+
13419
+ .sui-desc-title {
13420
+ font-size: 16px;
13421
+ font-weight: 700;
13422
+ color: var(--sui-text);
13423
+ margin: 0 0 16px;
13424
+ }
13425
+
13426
+ .sui-desc-row {
13427
+ display: flex;
13428
+ padding: 12px 0;
13429
+ border-bottom: 1px solid var(--sui-bg-dark);
13430
+ gap: 16px;
13431
+ }
13432
+
13433
+ .sui-desc-row:last-child {
13434
+ border-bottom: none;
13435
+ }
13436
+
13437
+ .sui-desc-label {
13438
+ font-size: 14px;
13439
+ font-weight: 500;
13440
+ color: var(--sui-text-muted);
13441
+ width: 160px;
13442
+ flex-shrink: 0;
13443
+ }
13444
+
13445
+ .sui-desc-value {
13446
+ font-size: 14px;
13447
+ color: var(--sui-text);
13448
+ flex: 1;
13449
+ }
13450
+
13451
+ /* Bordered variant */
13452
+ .sui-desc-bordered {
13453
+ border: 1px solid var(--sui-bg-dark);
13454
+ border-radius: var(--sui-radius-sm);
13455
+ overflow: hidden;
13456
+ }
13457
+
13458
+ .sui-desc-bordered .sui-desc-title {
13459
+ padding: 14px 20px;
13460
+ margin: 0;
13461
+ border-bottom: 1px solid var(--sui-bg-dark);
13462
+ background: var(--sui-bg-light);
13463
+ }
13464
+
13465
+ .sui-desc-bordered .sui-desc-row {
13466
+ padding: 12px 20px;
13467
+ }
13468
+
13469
+ /* Raised variant */
13470
+ .sui-desc-raised {
13471
+ background: var(--sui-bg);
13472
+ border-radius: var(--sui-radius-sm);
13473
+ box-shadow: var(--sui-shadow-raised);
13474
+ overflow: hidden;
13475
+ }
13476
+
13477
+ .sui-desc-raised .sui-desc-title {
13478
+ padding: 14px 20px;
13479
+ margin: 0;
13480
+ border-bottom: 1px solid var(--sui-bg-dark);
13481
+ }
13482
+
13483
+ .sui-desc-raised .sui-desc-row {
13484
+ padding: 12px 20px;
13485
+ }
13486
+
13487
+ /* Inset variant */
13488
+ .sui-desc-inset {
13489
+ background: var(--sui-bg);
13490
+ border-radius: var(--sui-radius-sm);
13491
+ box-shadow: var(--sui-shadow-inset);
13492
+ overflow: hidden;
13493
+ }
13494
+
13495
+ .sui-desc-inset .sui-desc-title {
13496
+ padding: 14px 20px;
13497
+ margin: 0;
13498
+ border-bottom: 1px solid var(--sui-bg-dark);
13499
+ }
13500
+
13501
+ .sui-desc-inset .sui-desc-row {
13502
+ padding: 12px 20px;
13503
+ }
13504
+
13505
+ /* Striped variant */
13506
+ .sui-desc-striped .sui-desc-row:nth-child(even) {
13507
+ background: var(--sui-bg-light);
13508
+ }
13509
+
13510
+ /* Horizontal layout (grid) */
13511
+ .sui-desc-horizontal {
13512
+ display: grid;
13513
+ grid-template-columns: 1fr 1fr;
13514
+ gap: 0;
13515
+ }
13516
+
13517
+ .sui-desc-horizontal .sui-desc-row {
13518
+ border-bottom: 1px solid var(--sui-bg-dark);
13519
+ }
13520
+
13521
+ /* Responsive */
13522
+ @media (max-width: 600px) {
13523
+ .sui-desc-row {
13524
+ flex-direction: column;
13525
+ gap: 4px;
13526
+ }
13527
+ .sui-desc-label {
13528
+ width: auto;
13529
+ }
13530
+ .sui-desc-horizontal {
13531
+ grid-template-columns: 1fr;
13532
+ }
13533
+ }
13534
+
13535
+ /* ===========================================
13536
+ Hero Section
13537
+ =========================================== */
13538
+ .sui-hero {
13539
+ display: flex;
13540
+ flex-direction: column;
13541
+ align-items: center;
13542
+ text-align: center;
13543
+ padding: 64px 24px;
13544
+ }
13545
+
13546
+ .sui-hero-title {
13547
+ font-size: 3rem;
13548
+ font-weight: 800;
13549
+ color: var(--sui-text);
13550
+ margin: 0 0 12px;
13551
+ line-height: 1.15;
13552
+ letter-spacing: -0.5px;
13553
+ }
13554
+
13555
+ .sui-hero-subtitle {
13556
+ font-size: 1.125rem;
13557
+ color: var(--sui-text-muted);
13558
+ max-width: 560px;
13559
+ margin: 0 0 32px;
13560
+ line-height: 1.6;
13561
+ }
13562
+
13563
+ .sui-hero-actions {
13564
+ display: flex;
13565
+ gap: 12px;
13566
+ flex-wrap: wrap;
13567
+ justify-content: center;
13568
+ }
13569
+
13570
+ /* Sizes */
13571
+ .sui-hero-sm {
13572
+ padding: 40px 24px;
13573
+ }
13574
+
13575
+ .sui-hero-sm .sui-hero-title {
13576
+ font-size: 2rem;
13577
+ }
13578
+
13579
+ .sui-hero-sm .sui-hero-subtitle {
13580
+ font-size: 1rem;
13581
+ margin-bottom: 24px;
13582
+ }
13583
+
13584
+ .sui-hero-lg {
13585
+ padding: 96px 24px;
13586
+ }
13587
+
13588
+ .sui-hero-lg .sui-hero-title {
13589
+ font-size: 4rem;
13590
+ }
13591
+
13592
+ .sui-hero-lg .sui-hero-subtitle {
13593
+ font-size: 1.25rem;
13594
+ max-width: 640px;
13595
+ }
13596
+
13597
+ /* Raised variant */
13598
+ .sui-hero-raised {
13599
+ background: var(--sui-bg);
13600
+ border-radius: var(--sui-radius-lg);
13601
+ box-shadow: var(--sui-shadow-raised);
13602
+ }
13603
+
13604
+ /* Gradient background */
13605
+ .sui-hero-gradient {
13606
+ background: linear-gradient(135deg, var(--sui-bg) 0%, var(--sui-bg-light) 100%);
13607
+ border-radius: var(--sui-radius-lg);
13608
+ }
13609
+
13610
+ /* With accent line */
13611
+ .sui-hero-accent .sui-hero-title {
13612
+ position: relative;
13613
+ padding-bottom: 16px;
13614
+ margin-bottom: 20px;
13615
+ }
13616
+
13617
+ .sui-hero-accent .sui-hero-title::after {
13618
+ content: '';
13619
+ position: absolute;
13620
+ bottom: 0;
13621
+ left: 50%;
13622
+ transform: translateX(-50%);
13623
+ width: 60px;
13624
+ height: 4px;
13625
+ border-radius: var(--sui-radius-full);
13626
+ background: var(--sui-primary);
13627
+ }
13628
+
13629
+ /* Bordered variant */
13630
+ .sui-hero-bordered {
13631
+ border: 1px solid var(--sui-bg-dark);
13632
+ border-radius: var(--sui-radius-lg);
13633
+ }
13634
+
13635
+ /* Inset variant */
13636
+ .sui-hero-inset {
13637
+ background: var(--sui-bg);
13638
+ border-radius: var(--sui-radius-lg);
13639
+ box-shadow: var(--sui-shadow-inset);
13640
+ }
13641
+
13642
+ /* Responsive */
13643
+ @media (max-width: 600px) {
13644
+ .sui-hero-title { font-size: 2rem; }
13645
+ .sui-hero-lg .sui-hero-title { font-size: 2.5rem; }
13646
+ .sui-hero { padding: 40px 16px; }
13647
+ .sui-hero-lg { padding: 56px 16px; }
13648
+ }
13649
+
13088
13650
  /* ===========================================
13089
13651
  Reduced Motion
13090
13652
  =========================================== */
@@ -13097,4 +13659,46 @@ select.sui-datatable-filter {
13097
13659
  }
13098
13660
  }
13099
13661
 
13662
+ /* ===========================================
13663
+ Print Styles
13664
+ =========================================== */
13665
+ @media print {
13666
+ body {
13667
+ background: #fff !important;
13668
+ color: #000 !important;
13669
+ }
13670
+
13671
+ .sui-navbar, .sui-sidebar, .sui-dock, .sui-speed-dial,
13672
+ .sui-modal-backdrop, .sui-sheet-backdrop, .sui-toast-container,
13673
+ .sui-tour-overlay, .sui-tour-tooltip, .sui-command-dialog,
13674
+ .sui-tooltip, .sui-popover-content, .sui-dropdown-menu,
13675
+ .sui-context-menu {
13676
+ display: none !important;
13677
+ }
13678
+
13679
+ *, *::before, *::after {
13680
+ box-shadow: none !important;
13681
+ text-shadow: none !important;
13682
+ }
13683
+
13684
+ .sui-card, .sui-stat, .sui-alert, .sui-table {
13685
+ border: 1px solid #ddd !important;
13686
+ break-inside: avoid;
13687
+ }
13688
+
13689
+ .sui-btn {
13690
+ border: 1px solid #999 !important;
13691
+ }
13692
+
13693
+ a[href]::after {
13694
+ content: " (" attr(href) ")";
13695
+ font-size: 0.85em;
13696
+ color: #666;
13697
+ }
13698
+
13699
+ a.sui-btn::after, a.sui-navbar-link::after, a.sui-page-link::after {
13700
+ content: none;
13701
+ }
13702
+ }
13703
+
13100
13704