@keenmate/pure-admin-core 2.7.1 → 2.9.0-rc01
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 +14 -24
- package/dist/css/main.css +628 -97
- package/package.json +1 -1
- package/snippets/profile.html +15 -10
- package/src/scss/_base-css-variables.scss +18 -8
- package/src/scss/core-components/_cards.scss +15 -2
- package/src/scss/core-components/_kpi-bento.scss +41 -6
- package/src/scss/core-components/_kpi-comparison-gauges.scss +60 -23
- package/src/scss/core-components/_kpi-editorial-minimal.scss +63 -20
- package/src/scss/core-components/_kpi-hero-supporting.scss +15 -1
- package/src/scss/core-components/_kpi-numeric-strip.scss +74 -15
- package/src/scss/core-components/_kpi-sparkline-list.scss +56 -4
- package/src/scss/core-components/_kpi-terminal.scss +22 -15
- package/src/scss/core-components/_profile.scss +6 -14
- package/src/scss/main.scss +11 -0
- package/src/scss/variables/_base.scss +3 -11
- package/src/scss/variables/_colors.scss +19 -19
- package/src/scss/variables/_components.scss +0 -1
- package/src/scss/variables/_system.scss +8 -0
- package/src/scss/.claude/settings.local.json +0 -11
package/dist/css/main.css
CHANGED
|
@@ -5425,8 +5425,6 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5425
5425
|
.pa-card__header {
|
|
5426
5426
|
padding: 0.5rem 1rem;
|
|
5427
5427
|
min-height: 4rem;
|
|
5428
|
-
border-top-left-radius: 8px;
|
|
5429
|
-
border-top-right-radius: 8px;
|
|
5430
5428
|
border-bottom: 1px solid var(--pa-border-color);
|
|
5431
5429
|
background: var(--pa-card-header-bg);
|
|
5432
5430
|
display: flex;
|
|
@@ -5604,6 +5602,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5604
5602
|
}
|
|
5605
5603
|
.pa-card--primary .pa-card__header {
|
|
5606
5604
|
background-color: var(--pa-accent);
|
|
5605
|
+
border-bottom-color: var(--pa-accent);
|
|
5607
5606
|
color: var(--pa-btn-primary-text);
|
|
5608
5607
|
}
|
|
5609
5608
|
.pa-card--primary .pa-card__header h1,
|
|
@@ -5619,6 +5618,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5619
5618
|
}
|
|
5620
5619
|
.pa-card--success .pa-card__header {
|
|
5621
5620
|
background-color: var(--pa-success-bg);
|
|
5621
|
+
border-bottom-color: var(--pa-success-bg);
|
|
5622
5622
|
color: var(--pa-btn-success-text);
|
|
5623
5623
|
}
|
|
5624
5624
|
.pa-card--success .pa-card__header h1,
|
|
@@ -5634,6 +5634,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5634
5634
|
}
|
|
5635
5635
|
.pa-card--warning .pa-card__header {
|
|
5636
5636
|
background-color: var(--pa-warning-bg);
|
|
5637
|
+
border-bottom-color: var(--pa-warning-bg);
|
|
5637
5638
|
color: var(--pa-btn-warning-text);
|
|
5638
5639
|
}
|
|
5639
5640
|
.pa-card--warning .pa-card__header h1,
|
|
@@ -5649,6 +5650,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5649
5650
|
}
|
|
5650
5651
|
.pa-card--danger .pa-card__header {
|
|
5651
5652
|
background-color: var(--pa-danger-bg);
|
|
5653
|
+
border-bottom-color: var(--pa-danger-bg);
|
|
5652
5654
|
color: var(--pa-btn-danger-text);
|
|
5653
5655
|
}
|
|
5654
5656
|
.pa-card--danger .pa-card__header h1,
|
|
@@ -5695,6 +5697,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5695
5697
|
}
|
|
5696
5698
|
.pa-card--color-1 .pa-card__header {
|
|
5697
5699
|
background-color: var(--pa-color-1);
|
|
5700
|
+
border-bottom-color: var(--pa-color-1);
|
|
5698
5701
|
color: var(--pa-color-1-text);
|
|
5699
5702
|
}
|
|
5700
5703
|
.pa-card--color-1 .pa-card__header h1,
|
|
@@ -5710,6 +5713,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5710
5713
|
}
|
|
5711
5714
|
.pa-card--color-2 .pa-card__header {
|
|
5712
5715
|
background-color: var(--pa-color-2);
|
|
5716
|
+
border-bottom-color: var(--pa-color-2);
|
|
5713
5717
|
color: var(--pa-color-2-text);
|
|
5714
5718
|
}
|
|
5715
5719
|
.pa-card--color-2 .pa-card__header h1,
|
|
@@ -5725,6 +5729,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5725
5729
|
}
|
|
5726
5730
|
.pa-card--color-3 .pa-card__header {
|
|
5727
5731
|
background-color: var(--pa-color-3);
|
|
5732
|
+
border-bottom-color: var(--pa-color-3);
|
|
5728
5733
|
color: var(--pa-color-3-text);
|
|
5729
5734
|
}
|
|
5730
5735
|
.pa-card--color-3 .pa-card__header h1,
|
|
@@ -5740,6 +5745,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5740
5745
|
}
|
|
5741
5746
|
.pa-card--color-4 .pa-card__header {
|
|
5742
5747
|
background-color: var(--pa-color-4);
|
|
5748
|
+
border-bottom-color: var(--pa-color-4);
|
|
5743
5749
|
color: var(--pa-color-4-text);
|
|
5744
5750
|
}
|
|
5745
5751
|
.pa-card--color-4 .pa-card__header h1,
|
|
@@ -5755,6 +5761,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5755
5761
|
}
|
|
5756
5762
|
.pa-card--color-5 .pa-card__header {
|
|
5757
5763
|
background-color: var(--pa-color-5);
|
|
5764
|
+
border-bottom-color: var(--pa-color-5);
|
|
5758
5765
|
color: var(--pa-color-5-text);
|
|
5759
5766
|
}
|
|
5760
5767
|
.pa-card--color-5 .pa-card__header h1,
|
|
@@ -5770,6 +5777,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5770
5777
|
}
|
|
5771
5778
|
.pa-card--color-6 .pa-card__header {
|
|
5772
5779
|
background-color: var(--pa-color-6);
|
|
5780
|
+
border-bottom-color: var(--pa-color-6);
|
|
5773
5781
|
color: var(--pa-color-6-text);
|
|
5774
5782
|
}
|
|
5775
5783
|
.pa-card--color-6 .pa-card__header h1,
|
|
@@ -5785,6 +5793,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5785
5793
|
}
|
|
5786
5794
|
.pa-card--color-7 .pa-card__header {
|
|
5787
5795
|
background-color: var(--pa-color-7);
|
|
5796
|
+
border-bottom-color: var(--pa-color-7);
|
|
5788
5797
|
color: var(--pa-color-7-text);
|
|
5789
5798
|
}
|
|
5790
5799
|
.pa-card--color-7 .pa-card__header h1,
|
|
@@ -5800,6 +5809,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5800
5809
|
}
|
|
5801
5810
|
.pa-card--color-8 .pa-card__header {
|
|
5802
5811
|
background-color: var(--pa-color-8);
|
|
5812
|
+
border-bottom-color: var(--pa-color-8);
|
|
5803
5813
|
color: var(--pa-color-8-text);
|
|
5804
5814
|
}
|
|
5805
5815
|
.pa-card--color-8 .pa-card__header h1,
|
|
@@ -5815,6 +5825,7 @@ body:not(.sidebar-hidden) .pa-layout__sidebar--icon-collapse .pa-sidebar__icon {
|
|
|
5815
5825
|
}
|
|
5816
5826
|
.pa-card--color-9 .pa-card__header {
|
|
5817
5827
|
background-color: var(--pa-color-9);
|
|
5828
|
+
border-bottom-color: var(--pa-color-9);
|
|
5818
5829
|
color: var(--pa-color-9-text);
|
|
5819
5830
|
}
|
|
5820
5831
|
.pa-card--color-9 .pa-card__header h1,
|
|
@@ -12264,18 +12275,6 @@ code {
|
|
|
12264
12275
|
text-overflow: ellipsis;
|
|
12265
12276
|
white-space: nowrap;
|
|
12266
12277
|
}
|
|
12267
|
-
.pa-profile-panel__role {
|
|
12268
|
-
display: inline-block;
|
|
12269
|
-
padding: 0.8rem 1.2rem;
|
|
12270
|
-
background-color: var(--pa-accent-light);
|
|
12271
|
-
background-color: color-mix(in srgb, var(--pa-header-profile-name-color) 15%, transparent);
|
|
12272
|
-
color: var(--pa-header-profile-name-color);
|
|
12273
|
-
font-size: 1.2rem;
|
|
12274
|
-
font-weight: 500;
|
|
12275
|
-
border-radius: var(--pa-border-radius);
|
|
12276
|
-
text-transform: uppercase;
|
|
12277
|
-
letter-spacing: 0.5px;
|
|
12278
|
-
}
|
|
12279
12278
|
.pa-profile-panel__close {
|
|
12280
12279
|
position: absolute;
|
|
12281
12280
|
top: 1.6rem;
|
|
@@ -16823,25 +16822,31 @@ code {
|
|
|
16823
16822
|
/* ========================================
|
|
16824
16823
|
KPI · Terminal grid
|
|
16825
16824
|
Bloomberg-style dense panel: mono numbers, status pills, inline SVG
|
|
16826
|
-
sparklines, ▲▼ deltas, segmented
|
|
16825
|
+
sparklines, ▲▼ deltas, optional segmented tab strip for swapping
|
|
16826
|
+
the body content (different tile sets / grids per tab).
|
|
16827
16827
|
Shared chrome (header, live, footer, detail popover, spark-dot) is in
|
|
16828
16828
|
_kpi-base.scss.
|
|
16829
16829
|
======================================== */
|
|
16830
|
-
/* -----
|
|
16830
|
+
/* ----- Tab strip (segmented button group) ------------------------------
|
|
16831
|
+
Generalised tabs — each `.pa-kpi-terminal__tab` carries a `data-tab`
|
|
16832
|
+
slug that matches a `.pa-kpi-terminal__pane[data-tab="…"]` in the body.
|
|
16833
|
+
JS toggles `.is-active` on the clicked tab + matching pane; tabs and
|
|
16834
|
+
panes are otherwise independent so each pane can hold a completely
|
|
16835
|
+
different grid (different tile count, different grid modifier). */
|
|
16831
16836
|
.pa-kpi-terminal__controls {
|
|
16832
16837
|
display: inline-flex;
|
|
16833
16838
|
align-items: center;
|
|
16834
16839
|
gap: 1.6rem;
|
|
16835
16840
|
}
|
|
16836
16841
|
|
|
16837
|
-
.pa-kpi-
|
|
16842
|
+
.pa-kpi-terminal__tabs {
|
|
16838
16843
|
display: inline-flex;
|
|
16839
16844
|
border: 1px solid var(--pa-border-color);
|
|
16840
16845
|
border-radius: 0.4rem;
|
|
16841
16846
|
overflow: hidden;
|
|
16842
16847
|
}
|
|
16843
16848
|
|
|
16844
|
-
.pa-kpi-
|
|
16849
|
+
.pa-kpi-terminal__tab {
|
|
16845
16850
|
background: transparent;
|
|
16846
16851
|
border: 0;
|
|
16847
16852
|
color: var(--pa-text-color-2);
|
|
@@ -16853,14 +16858,22 @@ code {
|
|
|
16853
16858
|
cursor: pointer;
|
|
16854
16859
|
transition: background-color 0.1s ease-out, color 0.1s ease-out;
|
|
16855
16860
|
}
|
|
16856
|
-
.pa-kpi-
|
|
16861
|
+
.pa-kpi-terminal__tab:hover {
|
|
16857
16862
|
color: var(--pa-text-color-1);
|
|
16858
16863
|
}
|
|
16859
|
-
.pa-kpi-
|
|
16864
|
+
.pa-kpi-terminal__tab.is-active {
|
|
16860
16865
|
background: var(--pa-text-color-1);
|
|
16861
16866
|
color: var(--pa-card-bg);
|
|
16862
16867
|
}
|
|
16863
16868
|
|
|
16869
|
+
/* ----- Pane visibility ------------------------------------------------- */
|
|
16870
|
+
.pa-kpi-terminal__pane {
|
|
16871
|
+
display: none;
|
|
16872
|
+
}
|
|
16873
|
+
.pa-kpi-terminal__pane.is-active {
|
|
16874
|
+
display: block;
|
|
16875
|
+
}
|
|
16876
|
+
|
|
16864
16877
|
/* ----- Grid + tile borders ----------------------------------------------
|
|
16865
16878
|
Hairline 1px borders between tiles, no gap. Last-row/last-column
|
|
16866
16879
|
borders suppressed via :nth-last-child / :nth-child selectors. */
|
|
@@ -16956,17 +16969,16 @@ code {
|
|
|
16956
16969
|
margin-bottom: 0.8rem;
|
|
16957
16970
|
}
|
|
16958
16971
|
|
|
16959
|
-
/* ----- Big value
|
|
16960
|
-
|
|
16961
|
-
|
|
16962
|
-
|
|
16963
|
-
when the segmented control is clicked. */
|
|
16972
|
+
/* ----- Big value -------------------------------------------------------
|
|
16973
|
+
One value per tile — sentiment colour set via `--very-positive` /
|
|
16974
|
+
`--positive` / `--neutral` / `--negative` / `--very-negative` modifier
|
|
16975
|
+
on the value element. */
|
|
16964
16976
|
.pa-kpi-tile__values {
|
|
16965
16977
|
margin-bottom: 0.4rem;
|
|
16966
16978
|
}
|
|
16967
16979
|
|
|
16968
16980
|
.pa-kpi-tile__value {
|
|
16969
|
-
display:
|
|
16981
|
+
display: inline-flex;
|
|
16970
16982
|
align-items: baseline;
|
|
16971
16983
|
gap: 0.3rem;
|
|
16972
16984
|
font-family: var(--base-font-family-mono);
|
|
@@ -16988,12 +17000,6 @@ code {
|
|
|
16988
17000
|
color: var(--pa-very-negative);
|
|
16989
17001
|
}
|
|
16990
17002
|
|
|
16991
|
-
.pa-kpi-terminal[data-view=value] .pa-kpi-tile__value[data-mode=value],
|
|
16992
|
-
.pa-kpi-terminal[data-view=delta] .pa-kpi-tile__value[data-mode=delta],
|
|
16993
|
-
.pa-kpi-terminal[data-view=trend] .pa-kpi-tile__value[data-mode=trend] {
|
|
16994
|
-
display: inline-flex;
|
|
16995
|
-
}
|
|
16996
|
-
|
|
16997
17003
|
.pa-kpi-tile__num {
|
|
16998
17004
|
font-size: 3.8rem;
|
|
16999
17005
|
font-weight: 700;
|
|
@@ -17078,7 +17084,16 @@ code {
|
|
|
17078
17084
|
scanning rather than per-tile depth — no view-mode toggle, no status
|
|
17079
17085
|
pills. Container queries collapse 4-col → 2-row → 3-row as the card
|
|
17080
17086
|
narrows.
|
|
17087
|
+
|
|
17088
|
+
Row template uses local SCSS variables for the four column widths
|
|
17089
|
+
(`$spark-col-label`, `$spark-col-chart`, `$spark-col-value`,
|
|
17090
|
+
`$spark-col-delta`) so all responsive overrides reference the same
|
|
17091
|
+
widths — change one and every breakpoint follows. The `--no-delta`
|
|
17092
|
+
modifier drops the rightmost column; the other three are load-bearing
|
|
17093
|
+
(a sparkline list without label, chart, or value is a different
|
|
17094
|
+
design).
|
|
17081
17095
|
======================================== */
|
|
17096
|
+
/* Per-column track widths — referenced from every template selector. */
|
|
17082
17097
|
/* Card is a query container so rows react to *card* width, not viewport. */
|
|
17083
17098
|
.pa-kpi-spark-list {
|
|
17084
17099
|
container-type: inline-size;
|
|
@@ -17101,6 +17116,18 @@ code {
|
|
|
17101
17116
|
border-bottom: 0;
|
|
17102
17117
|
}
|
|
17103
17118
|
|
|
17119
|
+
/* Modifier: --no-delta — drops the rightmost column. label · chart ·
|
|
17120
|
+
value only. Useful when the chart's slope already conveys direction
|
|
17121
|
+
and the delta would be redundant. Hides the delta element and shrinks
|
|
17122
|
+
the row template to 3 columns. */
|
|
17123
|
+
.pa-kpi-spark-list--no-delta .pa-kpi-spark-row {
|
|
17124
|
+
grid-template-columns: minmax(14rem, 28%) minmax(10rem, 1fr) minmax(8rem, 18%);
|
|
17125
|
+
}
|
|
17126
|
+
|
|
17127
|
+
.pa-kpi-spark-list--no-delta .pa-kpi-spark-row__delta {
|
|
17128
|
+
display: none;
|
|
17129
|
+
}
|
|
17130
|
+
|
|
17104
17131
|
/* Mid-narrow card (1×3 page-grid + 45% column): stack to 2 rows.
|
|
17105
17132
|
Label/value/delta on top, full-width chart below. Default order is
|
|
17106
17133
|
value-above-chart; use .pa-kpi-spark-list--chart-first to flip. */
|
|
@@ -17152,6 +17179,16 @@ code {
|
|
|
17152
17179
|
.pa-kpi-spark-list--chart-first .pa-kpi-spark-row__delta {
|
|
17153
17180
|
align-self: baseline;
|
|
17154
17181
|
}
|
|
17182
|
+
/* --no-delta at mid-narrow: 2-row layout, top row is label+value only. */
|
|
17183
|
+
.pa-kpi-spark-list--no-delta .pa-kpi-spark-row {
|
|
17184
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
17185
|
+
grid-template-areas: "label value" "chart chart";
|
|
17186
|
+
}
|
|
17187
|
+
/* --no-delta + --chart-first: 3-row single-column stack. */
|
|
17188
|
+
.pa-kpi-spark-list--no-delta.pa-kpi-spark-list--chart-first .pa-kpi-spark-row {
|
|
17189
|
+
grid-template-columns: 1fr;
|
|
17190
|
+
grid-template-areas: "label" "chart" "value";
|
|
17191
|
+
}
|
|
17155
17192
|
}
|
|
17156
17193
|
/* Very narrow card (~280–360px, 25% page-grid stress test): force the
|
|
17157
17194
|
chart-first 3-row layout regardless of modifier. */
|
|
@@ -17180,6 +17217,11 @@ code {
|
|
|
17180
17217
|
grid-area: delta;
|
|
17181
17218
|
align-self: baseline;
|
|
17182
17219
|
}
|
|
17220
|
+
/* --no-delta at very-narrow: 3-row single-column stack (no delta cell). */
|
|
17221
|
+
.pa-kpi-spark-list--no-delta .pa-kpi-spark-row {
|
|
17222
|
+
grid-template-columns: 1fr;
|
|
17223
|
+
grid-template-areas: "label" "chart" "value";
|
|
17224
|
+
}
|
|
17183
17225
|
}
|
|
17184
17226
|
/* ----- Cell typography -------------------------------------------------- */
|
|
17185
17227
|
.pa-kpi-spark-row__label {
|
|
@@ -17284,43 +17326,86 @@ code {
|
|
|
17284
17326
|
Goal-oriented progress bars. Each KPI shows label · value, a bar with a
|
|
17285
17327
|
target tick, and a 0 · tgt scale below. Bar fill = value/target * 100%,
|
|
17286
17328
|
capped visually so overshoots are signalled by colour, not overflow.
|
|
17287
|
-
======================================== */
|
|
17288
|
-
.pa-kpi-gauge-list {
|
|
17289
|
-
container-type: inline-size;
|
|
17290
|
-
}
|
|
17291
17329
|
|
|
17330
|
+
Layout is a cell-min-driven `auto-fit` grid — cells stay at least
|
|
17331
|
+
`--pa-kpi-gauge-cell-min` wide, the grid fits as many columns as the
|
|
17332
|
+
container allows, and the responsive cascade is intrinsic to the grid
|
|
17333
|
+
template (no `@container` queries). `--max-N` cap modifiers cap the
|
|
17334
|
+
column count at N while still collapsing below the cell-min × N
|
|
17335
|
+
threshold. Same pattern as `_kpi-editorial-minimal.scss`.
|
|
17336
|
+
======================================== */
|
|
17292
17337
|
.pa-kpi-gauge-list__body {
|
|
17293
17338
|
padding: 0;
|
|
17294
17339
|
}
|
|
17295
17340
|
|
|
17296
|
-
/*
|
|
17341
|
+
/* ----- Grid + hairline rules -------------------------------------------
|
|
17342
|
+
Cell-min-driven responsive layout. Override `--pa-kpi-gauge-cell-min`
|
|
17343
|
+
per instance to change density (smaller min → more columns at the same
|
|
17344
|
+
container width).
|
|
17345
|
+
|
|
17346
|
+
`gap: 1px` over `background: var(--pa-border-color)` with each tile
|
|
17347
|
+
painting `background: var(--pa-card-bg)` on top — only the gap shows
|
|
17348
|
+
through, giving single-pixel hairlines on every interior boundary
|
|
17349
|
+
regardless of column count. The card's outer border supplies the
|
|
17350
|
+
perimeter. Replaces the previous per-tile `border-right` +
|
|
17351
|
+
`border-bottom` + nth-child suppression machinery, which only worked
|
|
17352
|
+
for the hardcoded 2-col layout. */
|
|
17297
17353
|
.pa-kpi-gauge-list__grid {
|
|
17298
17354
|
display: grid;
|
|
17355
|
+
grid-template-columns: repeat(auto-fit, minmax(var(--pa-kpi-gauge-cell-min, 20rem), 1fr));
|
|
17356
|
+
gap: 1px;
|
|
17357
|
+
background: var(--pa-border-color);
|
|
17358
|
+
}
|
|
17359
|
+
|
|
17360
|
+
/* Modifier: force exactly 2 columns regardless of cell-min or container
|
|
17361
|
+
width. For placements wanting a deterministic 2×N layout. */
|
|
17362
|
+
.pa-kpi-gauge-list__grid--2col {
|
|
17299
17363
|
grid-template-columns: repeat(2, 1fr);
|
|
17300
17364
|
}
|
|
17301
17365
|
|
|
17302
|
-
|
|
17303
|
-
|
|
17304
|
-
|
|
17305
|
-
|
|
17366
|
+
/* Cap-at-N modifiers: combine auto-fit with a ceiling on the column
|
|
17367
|
+
count. Cells stay at least --pa-kpi-gauge-cell-min wide, but the grid
|
|
17368
|
+
never exceeds N columns even when the container is wide enough to fit
|
|
17369
|
+
more. Below the cell-min × N threshold the grid still collapses
|
|
17370
|
+
responsively — these modifiers cap the maximum, not the minimum.
|
|
17371
|
+
|
|
17372
|
+
How the calc reads: each track's effective min is
|
|
17373
|
+
max(cell-min, (container − total-gap) / N)
|
|
17374
|
+
On a wide container the calc wins (so tracks grow, you stay at N).
|
|
17375
|
+
On a narrow container cell-min wins (so the grid collapses).
|
|
17376
|
+
|
|
17377
|
+
Pick the cap so your item count divides into clean rows. */
|
|
17378
|
+
.pa-kpi-gauge-list__grid--max-2 {
|
|
17379
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-gauge-cell-min, 20rem), (100% - 1px) / 2), 1fr));
|
|
17380
|
+
}
|
|
17381
|
+
|
|
17382
|
+
.pa-kpi-gauge-list__grid--max-3 {
|
|
17383
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-gauge-cell-min, 20rem), (100% - 2px) / 3), 1fr));
|
|
17306
17384
|
}
|
|
17385
|
+
|
|
17386
|
+
.pa-kpi-gauge-list__grid--max-4 {
|
|
17387
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-gauge-cell-min, 20rem), (100% - 3px) / 4), 1fr));
|
|
17388
|
+
}
|
|
17389
|
+
|
|
17390
|
+
.pa-kpi-gauge-list__grid--max-5 {
|
|
17391
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-gauge-cell-min, 20rem), (100% - 4px) / 5), 1fr));
|
|
17392
|
+
}
|
|
17393
|
+
|
|
17394
|
+
.pa-kpi-gauge-list__grid--max-6 {
|
|
17395
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-gauge-cell-min, 20rem), (100% - 5px) / 6), 1fr));
|
|
17396
|
+
}
|
|
17397
|
+
|
|
17307
17398
|
/* ----- Gauge tile (label/value head · bar · 0/tgt scale) ---------------- */
|
|
17308
17399
|
.pa-kpi-gauge {
|
|
17309
17400
|
position: relative;
|
|
17401
|
+
background: var(--pa-card-bg);
|
|
17310
17402
|
padding: 1.6rem 2rem;
|
|
17311
|
-
|
|
17312
|
-
border-right: 1px solid var(--pa-border-color);
|
|
17403
|
+
min-width: 0;
|
|
17313
17404
|
/* Per-tile bar colour cascade — modifiers below set the var, the fill
|
|
17314
17405
|
reads it. Cleaner than per-modifier-per-element rules; host apps can
|
|
17315
17406
|
override at the tile level via inline style="--pa-kpi-bar-color: …". */
|
|
17316
17407
|
--pa-kpi-bar-color: var(--pa-positive);
|
|
17317
17408
|
}
|
|
17318
|
-
.pa-kpi-gauge:nth-child(2n) {
|
|
17319
|
-
border-right: 0;
|
|
17320
|
-
}
|
|
17321
|
-
.pa-kpi-gauge:nth-last-child(-n+2) {
|
|
17322
|
-
border-bottom: 0;
|
|
17323
|
-
}
|
|
17324
17409
|
.pa-kpi-gauge--positive {
|
|
17325
17410
|
--pa-kpi-bar-color: var(--pa-positive);
|
|
17326
17411
|
}
|
|
@@ -17334,17 +17419,6 @@ code {
|
|
|
17334
17419
|
--pa-kpi-bar-color: color-mix(in srgb, var(--pa-text-color-1) 70%, transparent);
|
|
17335
17420
|
}
|
|
17336
17421
|
|
|
17337
|
-
@container (max-width: 600px) {
|
|
17338
|
-
.pa-kpi-gauge {
|
|
17339
|
-
border-right: 0;
|
|
17340
|
-
}
|
|
17341
|
-
.pa-kpi-gauge:nth-last-child(-n+2) {
|
|
17342
|
-
border-bottom: 1px solid var(--pa-border-color);
|
|
17343
|
-
}
|
|
17344
|
-
.pa-kpi-gauge:last-child {
|
|
17345
|
-
border-bottom: 0;
|
|
17346
|
-
}
|
|
17347
|
-
}
|
|
17348
17422
|
/* ----- Head: label left, value right (baseline-aligned) ----------------- */
|
|
17349
17423
|
.pa-kpi-gauge__head {
|
|
17350
17424
|
display: flex;
|
|
@@ -17442,13 +17516,29 @@ code {
|
|
|
17442
17516
|
padding: 1.6rem;
|
|
17443
17517
|
}
|
|
17444
17518
|
|
|
17445
|
-
/* ----- Layout: hero left, rail right ------------------------------------
|
|
17519
|
+
/* ----- Layout: hero left, rail right ------------------------------------
|
|
17520
|
+
Default split is 1:1 (50% hero / 50% rail). Modifiers below shift the
|
|
17521
|
+
weight to the hero, which is the more common "executive dashboard"
|
|
17522
|
+
shape — one big headline, supporting tiles compressed into a narrower
|
|
17523
|
+
rail. Pick a modifier per instance; the markup stays unchanged. */
|
|
17446
17524
|
.pa-kpi-hero-list__layout {
|
|
17447
17525
|
display: grid;
|
|
17448
17526
|
grid-template-columns: 1fr 1fr;
|
|
17449
17527
|
gap: 1.4rem;
|
|
17450
17528
|
}
|
|
17451
17529
|
|
|
17530
|
+
/* Hero 2/3, rail 1/3. */
|
|
17531
|
+
.pa-kpi-hero-list__layout--hero-2-3 {
|
|
17532
|
+
grid-template-columns: 2fr 1fr;
|
|
17533
|
+
}
|
|
17534
|
+
|
|
17535
|
+
/* Hero 3/4, rail 1/4 — hero-dominant; rail is a thin sidebar. */
|
|
17536
|
+
.pa-kpi-hero-list__layout--hero-3-4 {
|
|
17537
|
+
grid-template-columns: 3fr 1fr;
|
|
17538
|
+
}
|
|
17539
|
+
|
|
17540
|
+
/* Narrow card → stack to single column. Overrides any --hero-N-M modifier
|
|
17541
|
+
that lives on the same element. */
|
|
17452
17542
|
@container (max-width: 700px) {
|
|
17453
17543
|
.pa-kpi-hero-list__layout {
|
|
17454
17544
|
grid-template-columns: 1fr;
|
|
@@ -17660,23 +17750,33 @@ code {
|
|
|
17660
17750
|
/* ========================================
|
|
17661
17751
|
KPI · Bento layout
|
|
17662
17752
|
Magazine-style asymmetric tile sizing with sparklines as soft background
|
|
17663
|
-
fills behind the values. 6
|
|
17753
|
+
fills behind the values. Default 6-tile layout on a 6-col × 3-row grid
|
|
17664
17754
|
(hero left-half × 2 rows, two stacked right-half × 2 rows, three equal
|
|
17665
|
-
tiles bottom row). Tile placement by source order via :nth-child
|
|
17755
|
+
tiles bottom row). Tile placement is by source order via :nth-child, so
|
|
17756
|
+
markup stays identical across layout modifiers.
|
|
17757
|
+
|
|
17758
|
+
Layout modifiers (below) swap `grid-template-areas` to provide
|
|
17759
|
+
alternative compositions:
|
|
17760
|
+
· default (no modifier) — 6 tiles, hero on the left
|
|
17761
|
+
· `--hero-right` — 6 tiles, mirror of default (hero on right)
|
|
17762
|
+
· `--5-tile` — 5 tiles, hero + 4 supporting
|
|
17763
|
+
Row height is a CSS variable (`--pa-kpi-bento-row-height`, default
|
|
17764
|
+
`12rem`) so authors can dial tile height per instance.
|
|
17666
17765
|
======================================== */
|
|
17667
17766
|
.pa-kpi-bento {
|
|
17668
17767
|
container-type: inline-size;
|
|
17768
|
+
--pa-kpi-bento-row-height: 12rem;
|
|
17669
17769
|
}
|
|
17670
17770
|
|
|
17671
17771
|
.pa-kpi-bento__body {
|
|
17672
17772
|
padding: 1.6rem;
|
|
17673
17773
|
}
|
|
17674
17774
|
|
|
17675
|
-
/* ----- Bento grid
|
|
17775
|
+
/* ----- Bento grid (default: 6 tiles, hero on left) ---------------------- */
|
|
17676
17776
|
.pa-kpi-bento__grid {
|
|
17677
17777
|
display: grid;
|
|
17678
17778
|
grid-template-columns: repeat(6, 1fr);
|
|
17679
|
-
grid-template-rows:
|
|
17779
|
+
grid-template-rows: repeat(3, var(--pa-kpi-bento-row-height));
|
|
17680
17780
|
grid-template-areas: "hero hero hero a a a" "hero hero hero b b b" "c c d d e e";
|
|
17681
17781
|
gap: 1rem;
|
|
17682
17782
|
}
|
|
@@ -17699,8 +17799,27 @@ code {
|
|
|
17699
17799
|
grid-area: e;
|
|
17700
17800
|
}
|
|
17701
17801
|
|
|
17702
|
-
/*
|
|
17703
|
-
|
|
17802
|
+
/* Modifier: --hero-right — mirror of default. Hero on the right half,
|
|
17803
|
+
two stacked tiles on the left of rows 1-2, three equal tiles below.
|
|
17804
|
+
Same 6-tile contract as default; only the template flips. Source
|
|
17805
|
+
order stays unchanged (1st = hero, 2nd = a, …). */
|
|
17806
|
+
.pa-kpi-bento__grid--hero-right {
|
|
17807
|
+
grid-template-areas: "a a a hero hero hero" "b b b hero hero hero" "c c d d e e";
|
|
17808
|
+
}
|
|
17809
|
+
|
|
17810
|
+
/* Modifier: --5-tile — hero + 4 supporting. Hero spans the left half ×
|
|
17811
|
+
2 rows, two stacked tiles on the right (rows 1-2), two equal halves on
|
|
17812
|
+
the bottom row. Requires exactly 5 tiles — a 6th tile (if present)
|
|
17813
|
+
would be auto-placed in a new row and break the layout. */
|
|
17814
|
+
.pa-kpi-bento__grid--5-tile {
|
|
17815
|
+
grid-template-areas: "hero hero hero a a a" "hero hero hero b b b" "c c c d d d";
|
|
17816
|
+
}
|
|
17817
|
+
|
|
17818
|
+
/* Narrow card → stack everything single column. Resets `grid-area: auto`
|
|
17819
|
+
on every tile so the same markup works regardless of which layout
|
|
17820
|
+
modifier the grid carries (the @container override sets
|
|
17821
|
+
`grid-template-areas: none` and the `grid-area: auto` on nth-child
|
|
17822
|
+
together neutralise any modifier's template). */
|
|
17704
17823
|
@container (max-width: 700px) {
|
|
17705
17824
|
.pa-kpi-bento__grid {
|
|
17706
17825
|
grid-template-columns: 1fr;
|
|
@@ -17867,12 +17986,20 @@ code {
|
|
|
17867
17986
|
|
|
17868
17987
|
/* ========================================
|
|
17869
17988
|
KPI · Numeric strip (densest)
|
|
17870
|
-
Tabular "spreadsheet-style" table card with metric/now/prev
|
|
17871
|
-
columns — most data per pixel, no chart chrome. Each row is its
|
|
17872
|
-
grid sharing the same column template so cells align across rows
|
|
17989
|
+
Tabular "spreadsheet-style" table card with metric / now / prev / Δ% /
|
|
17990
|
+
target columns — most data per pixel, no chart chrome. Each row is its
|
|
17991
|
+
own grid sharing the same column template so cells align across rows
|
|
17873
17992
|
without needing subgrid. Wide-only by design — no responsive collapse;
|
|
17874
17993
|
narrow placements should use Comparison gauges instead.
|
|
17994
|
+
|
|
17995
|
+
Column contract: `metric` + `now` are always present; `prev`, `delta`,
|
|
17996
|
+
and `target` are independently optional via toggle modifiers on the
|
|
17997
|
+
strip (`--no-prev`, `--no-delta`, `--no-target`). Modifiers compose, so
|
|
17998
|
+
the visible column count ranges from 2 (all three optional columns
|
|
17999
|
+
dropped) to 5 (none dropped). Each combination has its own template
|
|
18000
|
+
selector below so the grid tracks always match the visible cell count.
|
|
17875
18001
|
======================================== */
|
|
18002
|
+
/* Per-column track widths — referenced from every template selector. */
|
|
17876
18003
|
.pa-kpi-strip__body {
|
|
17877
18004
|
padding: 0;
|
|
17878
18005
|
}
|
|
@@ -17881,7 +18008,7 @@ code {
|
|
|
17881
18008
|
.pa-kpi-strip__row,
|
|
17882
18009
|
.pa-kpi-strip__head-row {
|
|
17883
18010
|
display: grid;
|
|
17884
|
-
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.6fr);
|
|
18011
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.6fr);
|
|
17885
18012
|
column-gap: 1.6rem;
|
|
17886
18013
|
align-items: center;
|
|
17887
18014
|
position: relative;
|
|
@@ -18018,16 +18145,76 @@ code {
|
|
|
18018
18145
|
line-height: 1;
|
|
18019
18146
|
}
|
|
18020
18147
|
|
|
18021
|
-
/* -----
|
|
18022
|
-
|
|
18148
|
+
/* ----- Toggle modifiers ------------------------------------------------
|
|
18149
|
+
`--no-prev`, `--no-delta`, `--no-target` are independently composable.
|
|
18150
|
+
Each hides its column's cells (data + header) and the matching template
|
|
18151
|
+
selector below adjusts `grid-template-columns` to the visible cell
|
|
18152
|
+
count, so source order (metric, now, prev, delta, target) is preserved
|
|
18153
|
+
and the remaining cells slot into the right tracks.
|
|
18154
|
+
|
|
18155
|
+
`metric` and `now` are mandatory — no toggle drops them. If a strip
|
|
18156
|
+
doesn't need a focal value, it's a different design (use comparison
|
|
18157
|
+
gauges or editorial-minimal). */
|
|
18158
|
+
.pa-kpi-strip--no-prev .pa-kpi-strip__prev,
|
|
18159
|
+
.pa-kpi-strip--no-prev .pa-kpi-strip__head--prev {
|
|
18160
|
+
display: none;
|
|
18161
|
+
}
|
|
18162
|
+
|
|
18163
|
+
.pa-kpi-strip--no-delta .pa-kpi-strip__delta,
|
|
18164
|
+
.pa-kpi-strip--no-delta .pa-kpi-strip__head--delta {
|
|
18165
|
+
display: none;
|
|
18166
|
+
}
|
|
18167
|
+
|
|
18168
|
+
.pa-kpi-strip--no-target .pa-kpi-strip__target,
|
|
18169
|
+
.pa-kpi-strip--no-target .pa-kpi-strip__head--target {
|
|
18170
|
+
display: none;
|
|
18171
|
+
}
|
|
18172
|
+
|
|
18173
|
+
/* ----- Grid templates per visible-column combination -------------------
|
|
18174
|
+
8 combos (1 default + 3 single-drops + 3 double-drops + 1 triple-drop).
|
|
18175
|
+
Each lists the visible columns in source order with their declared
|
|
18176
|
+
`$strip-col-*` width. */
|
|
18177
|
+
/* 4-col: one optional column dropped */
|
|
18023
18178
|
.pa-kpi-strip--no-prev .pa-kpi-strip__row,
|
|
18024
18179
|
.pa-kpi-strip--no-prev .pa-kpi-strip__head-row {
|
|
18025
18180
|
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1.6fr);
|
|
18026
18181
|
}
|
|
18027
18182
|
|
|
18183
|
+
.pa-kpi-strip--no-delta .pa-kpi-strip__row,
|
|
18184
|
+
.pa-kpi-strip--no-delta .pa-kpi-strip__head-row {
|
|
18185
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1.6fr);
|
|
18186
|
+
}
|
|
18187
|
+
|
|
18188
|
+
.pa-kpi-strip--no-target .pa-kpi-strip__row,
|
|
18189
|
+
.pa-kpi-strip--no-target .pa-kpi-strip__head-row {
|
|
18190
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr);
|
|
18191
|
+
}
|
|
18192
|
+
|
|
18193
|
+
/* 3-col: two optional columns dropped */
|
|
18194
|
+
.pa-kpi-strip--no-prev.pa-kpi-strip--no-delta .pa-kpi-strip__row,
|
|
18195
|
+
.pa-kpi-strip--no-prev.pa-kpi-strip--no-delta .pa-kpi-strip__head-row {
|
|
18196
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1.6fr);
|
|
18197
|
+
}
|
|
18198
|
+
|
|
18199
|
+
.pa-kpi-strip--no-prev.pa-kpi-strip--no-target .pa-kpi-strip__row,
|
|
18200
|
+
.pa-kpi-strip--no-prev.pa-kpi-strip--no-target .pa-kpi-strip__head-row {
|
|
18201
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1fr);
|
|
18202
|
+
}
|
|
18203
|
+
|
|
18204
|
+
.pa-kpi-strip--no-delta.pa-kpi-strip--no-target .pa-kpi-strip__row,
|
|
18205
|
+
.pa-kpi-strip--no-delta.pa-kpi-strip--no-target .pa-kpi-strip__head-row {
|
|
18206
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1fr);
|
|
18207
|
+
}
|
|
18208
|
+
|
|
18209
|
+
/* 2-col: all three optional columns dropped (metric + now only) */
|
|
18210
|
+
.pa-kpi-strip--no-prev.pa-kpi-strip--no-delta.pa-kpi-strip--no-target .pa-kpi-strip__row,
|
|
18211
|
+
.pa-kpi-strip--no-prev.pa-kpi-strip--no-delta.pa-kpi-strip--no-target .pa-kpi-strip__head-row {
|
|
18212
|
+
grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr);
|
|
18213
|
+
}
|
|
18214
|
+
|
|
18028
18215
|
/* ========================================
|
|
18029
18216
|
KPI · Editorial minimal
|
|
18030
|
-
|
|
18217
|
+
KPI tiles in a responsive grid with hairline rules between cells,
|
|
18031
18218
|
generous space, and an extra-light-weight number as the focal point per
|
|
18032
18219
|
tile. No charts, no pills — the design's whole identity is the thin
|
|
18033
18220
|
numeral. Renders as a table card (zero card-body padding) so hairlines
|
|
@@ -18038,38 +18225,74 @@ code {
|
|
|
18038
18225
|
}
|
|
18039
18226
|
|
|
18040
18227
|
/* ----- Grid + hairline rules -------------------------------------------
|
|
18228
|
+
Cell-min-driven responsive layout: cells stay at least
|
|
18229
|
+
--pa-kpi-edit-cell-min wide; the grid fits as many columns as the
|
|
18230
|
+
container allows. No @container queries — `auto-fit + minmax` handles
|
|
18231
|
+
the cascade intrinsically. Override the min per instance to change
|
|
18232
|
+
density (smaller min → more columns at the same container width).
|
|
18233
|
+
|
|
18041
18234
|
`gap: 1px` over `background: var(--pa-border-color)` with each tile
|
|
18042
|
-
painting `background: var(--pa-card-bg)` on top
|
|
18043
|
-
through, giving
|
|
18044
|
-
|
|
18045
|
-
|
|
18235
|
+
painting `background: var(--pa-card-bg)` on top — only the gap shows
|
|
18236
|
+
through, giving single-pixel hairlines on every interior boundary
|
|
18237
|
+
regardless of column count. The card's outer border supplies the
|
|
18238
|
+
perimeter. */
|
|
18046
18239
|
.pa-kpi-edit__grid {
|
|
18047
18240
|
display: grid;
|
|
18048
|
-
grid-template-columns: repeat(
|
|
18241
|
+
grid-template-columns: repeat(auto-fit, minmax(var(--pa-kpi-edit-cell-min, 14rem), 1fr));
|
|
18049
18242
|
gap: 1px;
|
|
18050
18243
|
background: var(--pa-border-color);
|
|
18051
|
-
container-type: inline-size;
|
|
18052
18244
|
}
|
|
18053
18245
|
|
|
18054
|
-
|
|
18055
|
-
|
|
18056
|
-
|
|
18057
|
-
}
|
|
18058
|
-
}
|
|
18059
|
-
@container (max-width: 360px) {
|
|
18060
|
-
.pa-kpi-edit__grid {
|
|
18061
|
-
grid-template-columns: 1fr;
|
|
18062
|
-
}
|
|
18063
|
-
}
|
|
18064
|
-
/* Modifier: force 2-col regardless of card width. For placements wanting
|
|
18065
|
-
a deterministic 2×N layout (e.g. 4 tiles as clean 2×2) instead of
|
|
18066
|
-
relying on the container query to land in the right bucket. */
|
|
18246
|
+
/* Modifier: force exactly 2 columns regardless of cell-min or container
|
|
18247
|
+
width. For placements wanting a deterministic 2×N layout (e.g. 4 tiles
|
|
18248
|
+
as a clean 2×2 even when the container is wide enough for more). */
|
|
18067
18249
|
.pa-kpi-edit__grid--2col {
|
|
18068
18250
|
grid-template-columns: repeat(2, 1fr);
|
|
18069
18251
|
}
|
|
18070
18252
|
|
|
18071
|
-
/*
|
|
18253
|
+
/* Cap-at-N modifiers: combine auto-fit with a ceiling on the column
|
|
18254
|
+
count. Cells stay at least --pa-kpi-edit-cell-min wide, but the grid
|
|
18255
|
+
never exceeds N columns even when the container is wide enough to fit
|
|
18256
|
+
more. Below the cell-min × N threshold the grid still collapses
|
|
18257
|
+
responsively — these modifiers cap the maximum, not the minimum.
|
|
18258
|
+
|
|
18259
|
+
How the calc reads: each track's effective min is
|
|
18260
|
+
max(cell-min, (container − total-gap) / N)
|
|
18261
|
+
On a wide container the calc wins (so tracks grow, you stay at N).
|
|
18262
|
+
On a narrow container cell-min wins (so the grid collapses).
|
|
18263
|
+
|
|
18264
|
+
Why this matters for the gray-void edge case: `auto-fit` keeps as many
|
|
18265
|
+
tracks as fit the container, then only collapses tracks empty across
|
|
18266
|
+
the *whole* grid. With 6 items at 4-col auto-fit, tracks 1–4 all have
|
|
18267
|
+
row-1 items, so row 2's tracks 3–4 stay (and show the gap background).
|
|
18268
|
+
Capping at 3 makes 6 items pack 3×2 cleanly. Pick the cap so your item
|
|
18269
|
+
count divides into clean rows. */
|
|
18270
|
+
.pa-kpi-edit__grid--max-2 {
|
|
18271
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-edit-cell-min, 14rem), (100% - 1px) / 2), 1fr));
|
|
18272
|
+
}
|
|
18273
|
+
|
|
18274
|
+
.pa-kpi-edit__grid--max-3 {
|
|
18275
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-edit-cell-min, 14rem), (100% - 2px) / 3), 1fr));
|
|
18276
|
+
}
|
|
18277
|
+
|
|
18278
|
+
.pa-kpi-edit__grid--max-4 {
|
|
18279
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-edit-cell-min, 14rem), (100% - 3px) / 4), 1fr));
|
|
18280
|
+
}
|
|
18281
|
+
|
|
18282
|
+
.pa-kpi-edit__grid--max-5 {
|
|
18283
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-edit-cell-min, 14rem), (100% - 4px) / 5), 1fr));
|
|
18284
|
+
}
|
|
18285
|
+
|
|
18286
|
+
.pa-kpi-edit__grid--max-6 {
|
|
18287
|
+
grid-template-columns: repeat(auto-fit, minmax(max(var(--pa-kpi-edit-cell-min, 14rem), (100% - 5px) / 6), 1fr));
|
|
18288
|
+
}
|
|
18289
|
+
|
|
18290
|
+
/* ----- Tile (editorial spacing leans on the 2.4rem padding) -------------
|
|
18291
|
+
Per-cell container: the value's `cqi`-based font-size scales with
|
|
18292
|
+
*this* tile's width, not the whole grid's. Keeps typography legible as
|
|
18293
|
+
the grid packs more cells into the same row. */
|
|
18072
18294
|
.pa-kpi-edit__tile {
|
|
18295
|
+
container-type: inline-size;
|
|
18073
18296
|
background: var(--pa-card-bg);
|
|
18074
18297
|
padding: 2.4rem 2rem;
|
|
18075
18298
|
display: flex;
|
|
@@ -18101,11 +18324,13 @@ code {
|
|
|
18101
18324
|
"monospace at low contrast".
|
|
18102
18325
|
- font-weight: 200 (extra-light). 300 was tested first but didn't read
|
|
18103
18326
|
distinctly enough as "light" against the body's 400 default.
|
|
18104
|
-
- clamp() lets the number shrink in narrow
|
|
18105
|
-
|
|
18327
|
+
- clamp() lets the number shrink in narrow cells without manual
|
|
18328
|
+
breakpoints. `cqi` measures per-cell (tile is a container) so the
|
|
18329
|
+
value tracks each cell's actual width as the grid packs more
|
|
18330
|
+
columns into a wider container. */
|
|
18106
18331
|
.pa-kpi-edit__value {
|
|
18107
18332
|
font-family: var(--base-font-family);
|
|
18108
|
-
font-size: clamp(3.2rem,
|
|
18333
|
+
font-size: clamp(3.2rem, 22cqi, 5.6rem);
|
|
18109
18334
|
font-weight: 200;
|
|
18110
18335
|
letter-spacing: -0.02em;
|
|
18111
18336
|
line-height: 1;
|
|
@@ -19062,3 +19287,309 @@ html.pa-font-base-12 {
|
|
|
19062
19287
|
.text-end {
|
|
19063
19288
|
text-align: end;
|
|
19064
19289
|
}
|
|
19290
|
+
|
|
19291
|
+
/* Pure Admin Visual Framework - Core Styles */
|
|
19292
|
+
:root,
|
|
19293
|
+
.pa-mode-light,
|
|
19294
|
+
.pa-mode-dark {
|
|
19295
|
+
--pa-text-strong: color-mix(in srgb, var(--pa-text-color-1) 85%, transparent);
|
|
19296
|
+
--pa-text-secondary: color-mix(in srgb, var(--pa-text-color-1) 70%, transparent);
|
|
19297
|
+
--pa-text-tertiary: color-mix(in srgb, var(--pa-text-color-1) 55%, transparent);
|
|
19298
|
+
--pa-surface-hover: color-mix(in srgb, var(--pa-text-color-1) 4%, transparent);
|
|
19299
|
+
--pa-surface-track: color-mix(in srgb, var(--pa-text-color-1) 12%, transparent);
|
|
19300
|
+
}
|
|
19301
|
+
|
|
19302
|
+
:root {
|
|
19303
|
+
--base-accent-color: #007bff;
|
|
19304
|
+
--base-accent-color-hover: rgb(51, 149.4, 255);
|
|
19305
|
+
--base-accent-color-active: rgb(102, 175.8, 255);
|
|
19306
|
+
--base-accent-color-light: rgba(0, 123, 255, 0.05);
|
|
19307
|
+
--base-accent-color-light-hover: rgba(0, 123, 255, 0.12);
|
|
19308
|
+
--base-text-color-1: #2c3e50;
|
|
19309
|
+
--base-text-color-2: #6c757d;
|
|
19310
|
+
--base-text-color-3: #7a8a99;
|
|
19311
|
+
--base-text-color-4: #a3b1bf;
|
|
19312
|
+
--base-text-color-on-accent: #ffffff;
|
|
19313
|
+
--base-main-bg: #ffffff;
|
|
19314
|
+
--base-page-bg: #f8f9fa;
|
|
19315
|
+
--base-subtle-bg: #e9ecef;
|
|
19316
|
+
--base-inverse-bg: #2c3e50;
|
|
19317
|
+
--base-overlay-bg: rgba(0, 0, 0, 0.5);
|
|
19318
|
+
--base-shadow-color: rgba(0, 0, 0, 0.15);
|
|
19319
|
+
--base-hover-bg: #e9ecef;
|
|
19320
|
+
--base-active-bg: rgb(218.2368421053, 223.25, 228.2631578947);
|
|
19321
|
+
--base-disabled-bg: #e9ecef;
|
|
19322
|
+
--base-elevated-bg: #f5f5f5;
|
|
19323
|
+
--base-border-color: #e1e5e9;
|
|
19324
|
+
--base-border: 1px solid #e1e5e9;
|
|
19325
|
+
--base-input-bg: #ffffff;
|
|
19326
|
+
--base-input-color: #495057;
|
|
19327
|
+
--base-input-border: 1px solid #ced4da;
|
|
19328
|
+
--base-input-border-hover: 1px solid #b8bfc6;
|
|
19329
|
+
--base-input-border-focus: 1px solid #007bff;
|
|
19330
|
+
--base-input-placeholder-color: #a3b1bf;
|
|
19331
|
+
--base-input-bg-disabled: rgba(255, 255, 255, 0.5);
|
|
19332
|
+
--base-input-size-xs-height: 3.1;
|
|
19333
|
+
--base-input-size-sm-height: 3.3;
|
|
19334
|
+
--base-input-size-md-height: 3.5;
|
|
19335
|
+
--base-input-size-lg-height: 3.8;
|
|
19336
|
+
--base-input-size-xl-height: 4.1;
|
|
19337
|
+
--base-dropdown-bg: #ffffff;
|
|
19338
|
+
--base-dropdown-border: 1px solid #e1e5e9;
|
|
19339
|
+
--base-dropdown-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
|
|
19340
|
+
--base-tooltip-bg: #2c3e50;
|
|
19341
|
+
--base-tooltip-text-color: #ffffff;
|
|
19342
|
+
--base-success-color: #22c55e;
|
|
19343
|
+
--base-success-color-hover: rgb(26.4935064935, 153.5064935065, 73.2467532468);
|
|
19344
|
+
--base-success-bg-light: rgba(34, 197, 94, 0.1);
|
|
19345
|
+
--base-success-bg-subtle: rgba(34, 197, 94, 0.08);
|
|
19346
|
+
--base-success-border: rgba(34, 197, 94, 0.2);
|
|
19347
|
+
--base-success-text: #155724;
|
|
19348
|
+
--base-success-text-light: #d4edda;
|
|
19349
|
+
--base-text-on-success: #ffffff;
|
|
19350
|
+
--base-danger-color: #ef4444;
|
|
19351
|
+
--base-danger-color-hover: rgb(234.9802955665, 21.0197044335, 21.0197044335);
|
|
19352
|
+
--base-danger-bg-light: rgba(239, 68, 68, 0.1);
|
|
19353
|
+
--base-danger-bg-subtle: rgba(239, 68, 68, 0.08);
|
|
19354
|
+
--base-danger-border: rgba(239, 68, 68, 0.2);
|
|
19355
|
+
--base-danger-text: #721c24;
|
|
19356
|
+
--base-danger-text-light: #f8d7da;
|
|
19357
|
+
--base-text-on-danger: #ffffff;
|
|
19358
|
+
--base-warning-color: #f97316;
|
|
19359
|
+
--base-warning-color-hover: rgb(214.4769874477, 91.129707113, 5.5230125523);
|
|
19360
|
+
--base-warning-bg-light: rgba(249, 115, 22, 0.1);
|
|
19361
|
+
--base-warning-bg-subtle: rgba(249, 115, 22, 0.08);
|
|
19362
|
+
--base-warning-border: rgba(249, 115, 22, 0.2);
|
|
19363
|
+
--base-warning-text: #856404;
|
|
19364
|
+
--base-warning-text-light: #fff3cd;
|
|
19365
|
+
--base-text-on-warning: #212529;
|
|
19366
|
+
--base-info-color: #17a2b8;
|
|
19367
|
+
--base-info-color-hover: rgb(17.3333333333, 122.0869565217, 138.6666666667);
|
|
19368
|
+
--base-info-bg-light: rgba(23, 162, 184, 0.1);
|
|
19369
|
+
--base-info-bg-subtle: rgba(23, 162, 184, 0.08);
|
|
19370
|
+
--base-info-border: rgba(23, 162, 184, 0.2);
|
|
19371
|
+
--base-info-text: #0c5460;
|
|
19372
|
+
--base-info-text-light: #d1ecf1;
|
|
19373
|
+
--base-text-on-info: #ffffff;
|
|
19374
|
+
--base-hover-overlay: rgba(0, 0, 0, 0.04);
|
|
19375
|
+
--base-active-overlay: rgba(0, 0, 0, 0.08);
|
|
19376
|
+
--base-focus-ring-color: #007bff;
|
|
19377
|
+
--base-focus-ring-width: 3px;
|
|
19378
|
+
--base-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif;
|
|
19379
|
+
--base-font-family-mono: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
|
|
19380
|
+
--base-font-size-2xs: 1;
|
|
19381
|
+
--base-font-size-xs: 1.2;
|
|
19382
|
+
--base-font-size-sm: 1.4;
|
|
19383
|
+
--base-font-size-base: 1.6;
|
|
19384
|
+
--base-font-size-lg: 1.8;
|
|
19385
|
+
--base-font-size-xl: 2;
|
|
19386
|
+
--base-font-size-2xl: 2.4;
|
|
19387
|
+
--base-font-weight-normal: 400;
|
|
19388
|
+
--base-font-weight-medium: 500;
|
|
19389
|
+
--base-font-weight-semibold: 600;
|
|
19390
|
+
--base-font-weight-bold: 700;
|
|
19391
|
+
--base-line-height-tight: 1.25;
|
|
19392
|
+
--base-line-height-normal: 1.5;
|
|
19393
|
+
--base-line-height-relaxed: 1.75;
|
|
19394
|
+
--base-border-radius-sm: 0.4;
|
|
19395
|
+
--base-border-radius-md: 0.6;
|
|
19396
|
+
--base-border-radius-lg: 0.8;
|
|
19397
|
+
color-scheme: light;
|
|
19398
|
+
--pa-main-bg: #f8f9fa;
|
|
19399
|
+
--pa-page-bg: #f8f9fa;
|
|
19400
|
+
--pa-subtle-bg: #ffffff;
|
|
19401
|
+
--pa-text-color-1: #2c3e50;
|
|
19402
|
+
--pa-text-color-2: #6c757d;
|
|
19403
|
+
--pa-accent: #007bff;
|
|
19404
|
+
--pa-accent-hover: rgba(0, 123, 255, 0.12);
|
|
19405
|
+
--pa-accent-light: color-mix(in srgb, var(--pa-accent) 5%, transparent);
|
|
19406
|
+
--pa-link-color: var(--pa-accent);
|
|
19407
|
+
--pa-link-color-hover: color-mix(in srgb, var(--pa-link-color), currentColor 50%);
|
|
19408
|
+
--pa-link-color-visited: var(--pa-link-color);
|
|
19409
|
+
--pa-border-color: #e1e5e9;
|
|
19410
|
+
--pa-success: #22c55e;
|
|
19411
|
+
--pa-warning: #f97316;
|
|
19412
|
+
--pa-danger: #ef4444;
|
|
19413
|
+
--pa-info: #17a2b8;
|
|
19414
|
+
--pa-very-positive: #16a34a;
|
|
19415
|
+
--pa-positive: var(--pa-success);
|
|
19416
|
+
--pa-neutral: #9ca3af;
|
|
19417
|
+
--pa-negative: var(--pa-danger);
|
|
19418
|
+
--pa-very-negative: #dc2626;
|
|
19419
|
+
--pa-chart-trendline-height: 3rem;
|
|
19420
|
+
--pa-chart-trendline-stroke: 2.1;
|
|
19421
|
+
--pa-detail-bg: rgba(15, 17, 21, 0.97);
|
|
19422
|
+
--pa-detail-text: #ffffff;
|
|
19423
|
+
--pa-detail-row-label: rgba(255, 255, 255, 0.75);
|
|
19424
|
+
--pa-detail-title: rgba(255, 255, 255, 0.55);
|
|
19425
|
+
--pa-detail-shadow: 0 1.4rem 3.6rem rgba(0, 0, 0, 0.55);
|
|
19426
|
+
--pa-header-bg: #ffffff;
|
|
19427
|
+
--pa-header-border-color: #e1e5e9;
|
|
19428
|
+
--pa-header-text: #2c3e50;
|
|
19429
|
+
--pa-header-text-secondary: #6c757d;
|
|
19430
|
+
--pa-header-profile-name-color: #2c3e50;
|
|
19431
|
+
--pa-sidebar-bg: #f8f9fa;
|
|
19432
|
+
--pa-sidebar-text: #2c3e50;
|
|
19433
|
+
--pa-sidebar-text-secondary: #6c757d;
|
|
19434
|
+
--pa-sidebar-submenu-bg: #e9ecef;
|
|
19435
|
+
--pa-sidebar-submenu-hover-bg: rgb(218.2368421053, 223.25, 228.2631578947);
|
|
19436
|
+
--pa-sidebar-submenu-active-bg: rgb(203.4736842105, 210.5, 217.5263157895);
|
|
19437
|
+
--pa-sidebar-submenu-active-text: #2c3e50;
|
|
19438
|
+
--pa-footer-bg: #ffffff;
|
|
19439
|
+
--pa-footer-border-color: #e1e5e9;
|
|
19440
|
+
--pa-btn-primary-bg: #007bff;
|
|
19441
|
+
--pa-btn-primary-bg-hover: rgb(51, 149.4, 255);
|
|
19442
|
+
--pa-btn-primary-bg-light: color-mix(in srgb, var(--pa-btn-primary-bg) 5%, transparent);
|
|
19443
|
+
--pa-btn-primary-text: #ffffff;
|
|
19444
|
+
--pa-btn-secondary-bg: #6c757d;
|
|
19445
|
+
--pa-btn-secondary-bg-hover: #545b62;
|
|
19446
|
+
--pa-btn-secondary-text: #ffffff;
|
|
19447
|
+
--pa-btn-secondary-outline-color: var(--pa-btn-secondary-bg);
|
|
19448
|
+
--pa-btn-success-bg: var(--pa-success);
|
|
19449
|
+
--pa-btn-success-bg-hover: rgb(26.4935064935, 153.5064935065, 73.2467532468);
|
|
19450
|
+
--pa-btn-success-text: #ffffff;
|
|
19451
|
+
--pa-btn-danger-bg: var(--pa-danger);
|
|
19452
|
+
--pa-btn-danger-bg-hover: rgb(234.9802955665, 21.0197044335, 21.0197044335);
|
|
19453
|
+
--pa-btn-danger-text: #ffffff;
|
|
19454
|
+
--pa-btn-warning-bg: var(--pa-warning);
|
|
19455
|
+
--pa-btn-warning-bg-hover: rgb(214.4769874477, 91.129707113, 5.5230125523);
|
|
19456
|
+
--pa-btn-warning-text: #212529;
|
|
19457
|
+
--pa-btn-info-bg: var(--pa-info);
|
|
19458
|
+
--pa-btn-info-bg-hover: rgb(17.3333333333, 122.0869565217, 138.6666666667);
|
|
19459
|
+
--pa-btn-info-text: #ffffff;
|
|
19460
|
+
--pa-btn-light-bg: #f8f9fa;
|
|
19461
|
+
--pa-btn-light-bg-hover: #e9ecef;
|
|
19462
|
+
--pa-btn-light-text: #2c3e50;
|
|
19463
|
+
--pa-btn-dark-bg: #343a40;
|
|
19464
|
+
--pa-btn-dark-bg-hover: #1d2124;
|
|
19465
|
+
--pa-btn-dark-text: #ffffff;
|
|
19466
|
+
--pa-success-bg: var(--pa-success);
|
|
19467
|
+
--pa-success-bg-hover: rgb(26.4935064935, 153.5064935065, 73.2467532468);
|
|
19468
|
+
--pa-success-bg-light: color-mix(in srgb, var(--pa-success) 10%, transparent);
|
|
19469
|
+
--pa-success-bg-subtle: color-mix(in srgb, var(--pa-success) 8%, transparent);
|
|
19470
|
+
--pa-success-border: color-mix(in srgb, var(--pa-success) 20%, transparent);
|
|
19471
|
+
--pa-success-text: #155724;
|
|
19472
|
+
--pa-success-text-light: #d4edda;
|
|
19473
|
+
--pa-danger-bg: var(--pa-danger);
|
|
19474
|
+
--pa-danger-bg-hover: rgb(234.9802955665, 21.0197044335, 21.0197044335);
|
|
19475
|
+
--pa-danger-bg-light: color-mix(in srgb, var(--pa-danger) 10%, transparent);
|
|
19476
|
+
--pa-danger-bg-subtle: color-mix(in srgb, var(--pa-danger) 8%, transparent);
|
|
19477
|
+
--pa-danger-border: color-mix(in srgb, var(--pa-danger) 20%, transparent);
|
|
19478
|
+
--pa-danger-text: #721c24;
|
|
19479
|
+
--pa-danger-text-light: #f8d7da;
|
|
19480
|
+
--pa-warning-bg: var(--pa-warning);
|
|
19481
|
+
--pa-warning-bg-hover: rgb(214.4769874477, 91.129707113, 5.5230125523);
|
|
19482
|
+
--pa-warning-bg-light: color-mix(in srgb, var(--pa-warning) 10%, transparent);
|
|
19483
|
+
--pa-warning-bg-subtle: color-mix(in srgb, var(--pa-warning) 8%, transparent);
|
|
19484
|
+
--pa-warning-border: color-mix(in srgb, var(--pa-warning) 20%, transparent);
|
|
19485
|
+
--pa-warning-text: #856404;
|
|
19486
|
+
--pa-warning-text-light: #fff3cd;
|
|
19487
|
+
--pa-info-bg: var(--pa-info);
|
|
19488
|
+
--pa-info-bg-hover: rgb(17.3333333333, 122.0869565217, 138.6666666667);
|
|
19489
|
+
--pa-info-bg-light: color-mix(in srgb, var(--pa-info) 10%, transparent);
|
|
19490
|
+
--pa-info-bg-subtle: color-mix(in srgb, var(--pa-info) 8%, transparent);
|
|
19491
|
+
--pa-info-border: color-mix(in srgb, var(--pa-info) 20%, transparent);
|
|
19492
|
+
--pa-info-text: #0c5460;
|
|
19493
|
+
--pa-info-text-light: #d1ecf1;
|
|
19494
|
+
--pa-card-bg: #ffffff;
|
|
19495
|
+
--pa-card-header-bg: #f8f9fa;
|
|
19496
|
+
--pa-card-footer-bg: #ffffff;
|
|
19497
|
+
--pa-card-tabs-bg: #f8f9fa;
|
|
19498
|
+
--pa-input-bg: #ffffff;
|
|
19499
|
+
--pa-input-border: #ced4da;
|
|
19500
|
+
--pa-input-text: #495057;
|
|
19501
|
+
--pa-input-focus-border-color: #007bff;
|
|
19502
|
+
--pa-select-focus-border-color: #007bff;
|
|
19503
|
+
--pa-textarea-focus-border-color: #007bff;
|
|
19504
|
+
--pa-checkbox-border-color: #e1e5e9;
|
|
19505
|
+
--pa-checkbox-border-color-hover: #007bff;
|
|
19506
|
+
--pa-checkbox-border-color-checked: #007bff;
|
|
19507
|
+
--pa-checkbox-bg: #ffffff;
|
|
19508
|
+
--pa-checkbox-bg-checked: #007bff;
|
|
19509
|
+
--pa-checkbox-bg-indeterminate: #007bff;
|
|
19510
|
+
--pa-checkbox-checkmark-color: white;
|
|
19511
|
+
--pa-checkbox-focus-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
|
|
19512
|
+
--pa-input-group-prepend-bg: #6c757d;
|
|
19513
|
+
--pa-input-group-prepend-text: #6c757d;
|
|
19514
|
+
--pa-input-group-append-bg: #6c757d;
|
|
19515
|
+
--pa-input-group-append-text: #6c757d;
|
|
19516
|
+
--pa-table-bg: #ffffff;
|
|
19517
|
+
--pa-table-header-bg: #f8f9fa;
|
|
19518
|
+
--pa-table-stripe: #f8f9fa;
|
|
19519
|
+
--pa-table-hover-bg: #f8f9fa;
|
|
19520
|
+
--pa-table-hover-accent-color: #007bff;
|
|
19521
|
+
--pa-modal-overlay-bg: rgba(0, 0, 0, 0.5);
|
|
19522
|
+
--pa-modal-content-bg: #ffffff;
|
|
19523
|
+
--pa-badge-success-bg: #d4edda;
|
|
19524
|
+
--pa-badge-success-text: #155724;
|
|
19525
|
+
--pa-badge-warning-bg: #fff3cd;
|
|
19526
|
+
--pa-badge-warning-text: #856404;
|
|
19527
|
+
--pa-badge-info-bg: #d1ecf1;
|
|
19528
|
+
--pa-badge-info-text: #0c5460;
|
|
19529
|
+
--pa-badge-danger-bg: #f8d7da;
|
|
19530
|
+
--pa-badge-danger-text: #721c24;
|
|
19531
|
+
--pa-composite-badge-icon-bg: #6c757d;
|
|
19532
|
+
--pa-composite-badge-label-bg: #e9ecef;
|
|
19533
|
+
--pa-composite-badge-label-text: #2c3e50;
|
|
19534
|
+
--pa-composite-badge-label-hover-bg: #e9ecef;
|
|
19535
|
+
--pa-tooltip-bg: #2c3e50;
|
|
19536
|
+
--pa-tooltip-text: #ffffff;
|
|
19537
|
+
--pa-popover-content-bg: #ffffff;
|
|
19538
|
+
--pa-popover-text-light: #ffffff;
|
|
19539
|
+
--pa-popover-text-dark: #000000;
|
|
19540
|
+
--pa-loader-overlay-bg: rgba(255, 255, 255, 0.8);
|
|
19541
|
+
--pa-profile-overlay-bg: rgba(0, 0, 0, 0.3);
|
|
19542
|
+
--pa-detail-panel-overlay-bg: rgba(0, 0, 0, 0.3);
|
|
19543
|
+
--pa-detail-panel-selected-bg: rgba(0, 123, 255, 0.08);
|
|
19544
|
+
--pa-detail-panel-z-index: 4500;
|
|
19545
|
+
--pa-command-palette-backdrop-bg: rgba(0, 0, 0, 0.5);
|
|
19546
|
+
--pa-command-palette-item-hover-bg: rgba(0, 123, 255, 0.05);
|
|
19547
|
+
--pa-command-palette-item-active-bg: rgba(0, 123, 255, 0.1);
|
|
19548
|
+
--pa-command-palette-highlight-bg: rgba(0, 123, 255, 0.2);
|
|
19549
|
+
--pa-command-palette-highlight-text: #007bff;
|
|
19550
|
+
--pa-command-palette-key-bg: #ffffff;
|
|
19551
|
+
--pa-command-palette-key-text: #2c3e50;
|
|
19552
|
+
--pa-command-palette-key-font-size: 1.2rem;
|
|
19553
|
+
--pa-command-palette-key-font-weight: 600;
|
|
19554
|
+
--pa-multiselect-dropdown-bg: #ffffff;
|
|
19555
|
+
--pa-multiselect-dropdown-border: #e1e5e9;
|
|
19556
|
+
--pa-multiselect-dropdown-text: #2c3e50;
|
|
19557
|
+
--pa-multiselect-hint-bg: #f8f9fa;
|
|
19558
|
+
--pa-multiselect-hint-border: #e1e5e9;
|
|
19559
|
+
--pa-multiselect-option-hover-bg: #f8f9fa;
|
|
19560
|
+
--pa-multiselect-pill-bg: rgba(0, 123, 255, 0.05);
|
|
19561
|
+
--pa-multiselect-pill-border: #007bff;
|
|
19562
|
+
--pa-color-1: transparent;
|
|
19563
|
+
--pa-color-2: transparent;
|
|
19564
|
+
--pa-color-3: transparent;
|
|
19565
|
+
--pa-color-4: transparent;
|
|
19566
|
+
--pa-color-5: transparent;
|
|
19567
|
+
--pa-color-6: transparent;
|
|
19568
|
+
--pa-color-7: transparent;
|
|
19569
|
+
--pa-color-8: transparent;
|
|
19570
|
+
--pa-color-9: transparent;
|
|
19571
|
+
--pa-color-1-text: #ffffff;
|
|
19572
|
+
--pa-color-2-text: #ffffff;
|
|
19573
|
+
--pa-color-3-text: #ffffff;
|
|
19574
|
+
--pa-color-4-text: #ffffff;
|
|
19575
|
+
--pa-color-5-text: #ffffff;
|
|
19576
|
+
--pa-color-6-text: #ffffff;
|
|
19577
|
+
--pa-color-7-text: #ffffff;
|
|
19578
|
+
--pa-color-8-text: #ffffff;
|
|
19579
|
+
--pa-color-9-text: #ffffff;
|
|
19580
|
+
--pa-border-radius-sm: 2px;
|
|
19581
|
+
--pa-border-radius: 4px;
|
|
19582
|
+
--pa-border-radius-lg: 8px;
|
|
19583
|
+
--pa-alert-success-text: color-mix(in srgb, var(--pa-success-bg) 60%, black);
|
|
19584
|
+
--pa-alert-success-bg: color-mix(in srgb, var(--pa-success-bg) 15%, transparent);
|
|
19585
|
+
--pa-alert-success-border: color-mix(in srgb, var(--pa-success-bg) 30%, transparent);
|
|
19586
|
+
--pa-alert-danger-text: color-mix(in srgb, var(--pa-danger-bg) 60%, black);
|
|
19587
|
+
--pa-alert-danger-bg: color-mix(in srgb, var(--pa-danger-bg) 15%, transparent);
|
|
19588
|
+
--pa-alert-danger-border: color-mix(in srgb, var(--pa-danger-bg) 30%, transparent);
|
|
19589
|
+
--pa-alert-warning-text: color-mix(in srgb, var(--pa-warning-bg) 60%, black);
|
|
19590
|
+
--pa-alert-warning-bg: color-mix(in srgb, var(--pa-warning-bg) 15%, transparent);
|
|
19591
|
+
--pa-alert-warning-border: color-mix(in srgb, var(--pa-warning-bg) 30%, transparent);
|
|
19592
|
+
--pa-alert-info-text: color-mix(in srgb, var(--pa-info-bg) 60%, black);
|
|
19593
|
+
--pa-alert-info-bg: color-mix(in srgb, var(--pa-info-bg) 15%, transparent);
|
|
19594
|
+
--pa-alert-info-border: color-mix(in srgb, var(--pa-info-bg) 30%, transparent);
|
|
19595
|
+
}
|