@validation-os/dashboard 0.15.1 → 0.15.2

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.
Files changed (2) hide show
  1. package/dist/styles.css +64 -56
  2. package/package.json +2 -2
package/dist/styles.css CHANGED
@@ -2872,13 +2872,14 @@ button.vos-verdict-title {
2872
2872
 
2873
2873
  /* Segmented toggle (Grid / View all) */
2874
2874
  .vos-seg { display: inline-flex; gap: 0; border: 1px solid var(--vos-border); border-radius: var(--vos-radius); overflow: hidden; }
2875
- .vos-seg-btn { padding: 6px 14px; background: transparent; border: none; color: var(--vos-muted); font: inherit; cursor: pointer; border-right: 1px solid var(--vos-border); }
2875
+ .vos-seg-btn { padding: 6px 14px; background: transparent; border: none; color: var(--vos-muted); font: inherit; cursor: pointer; border-right: 1px solid var(--vos-border); transition: background 0.15s, color 0.15s; }
2876
2876
  .vos-seg-btn:last-child { border-right: none; }
2877
+ .vos-seg-btn:hover { background: var(--vos-surface-2); }
2877
2878
  .vos-seg-btn.is-active { background: var(--vos-accent-weak); color: var(--vos-accent-text); }
2878
2879
 
2879
2880
  /* Stage grid cell button (clean count, 1 for single) */
2880
2881
  .vos-stage-grid-cell { padding: 2px; }
2881
- .vos-stage-grid-btn { width: 100%; min-height: 56px; border: none; border-radius: 6px; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--vos-text); transition: background 0.15s; }
2882
+ .vos-stage-grid-btn { width: 100%; min-height: 56px; border: none; border-radius: 6px; cursor: pointer; font-size: 16px; font-weight: 600; color: var(--vos-text); transition: filter 0.15s; }
2882
2883
  .vos-stage-grid-btn:hover:not(:disabled) { filter: brightness(1.1); }
2883
2884
  .vos-stage-grid-btn:disabled { cursor: default; }
2884
2885
  .vos-heat-0 { background: var(--vos-surface); opacity: 0.4; color: var(--vos-muted); }
@@ -2887,22 +2888,23 @@ button.vos-verdict-title {
2887
2888
  .vos-heat-3 { background: color-mix(in srgb, var(--vos-accent) 48%, var(--vos-surface)); }
2888
2889
  .vos-heat-4 { background: color-mix(in srgb, var(--vos-accent) 65%, var(--vos-surface)); }
2889
2890
 
2890
- /* Pipeline board hero (board variant — compact) */
2891
+ /* Pipeline board hero (board variant — compact). Standardized 16px section gap. */
2891
2892
  .vos-pipe-hero-board { padding: 20px 24px; margin-bottom: 16px; }
2892
2893
 
2893
- /* 2-segment meter track (Framed + Known — drops Planned/Tested) */
2894
- .vos-pipe-row-2seg { grid-template-columns: 4px 1fr 180px 90px !important; }
2895
- .vos-pipe-prog-2seg { padding: 12px 0; }
2896
- .vos-meter2 { display: flex; flex-direction: column; gap: 2px; }
2894
+ /* 2-segment meter track (Framed + Known — drops Planned/Tested).
2895
+ Meter column is flexible (min 140px) so the row breathes on narrow screens. */
2896
+ .vos-pipe-row-2seg { grid-template-columns: 4px 1fr minmax(140px, 180px) 90px !important; }
2897
+ .vos-pipe-prog-2seg { padding: 14px 0; }
2898
+ .vos-meter2 { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
2897
2899
  .vos-meter2-track { height: 16px; border-radius: 4px; background: var(--vos-surface-2); overflow: hidden; display: flex; }
2898
- .vos-meter2-seg { flex: 1; position: relative; border-right: 1px solid var(--vos-border); overflow: hidden; }
2900
+ .vos-meter2-seg { flex: 1; position: relative; border-right: 1px solid var(--vos-border); overflow: hidden; min-width: 0; }
2899
2901
  .vos-meter2-seg:last-child { border-right: none; }
2900
2902
  .vos-meter2-fill-accent { position: absolute; inset: 0; background: var(--vos-accent); opacity: 0.5; }
2901
2903
  .vos-meter2-fill-good { position: absolute; inset: 0; background: var(--vos-good); opacity: 0.6; }
2902
2904
  .vos-meter2-fill-warn { position: absolute; inset: 0; background: var(--vos-warn); opacity: 0.6; }
2903
2905
  .vos-meter2-fill-crit { position: absolute; inset: 0; background: var(--vos-crit); opacity: 0.6; }
2904
2906
  .vos-meter2-caps { display: flex; }
2905
- .vos-meter2-cap { flex: 1; font-size: 8px; text-align: center; color: var(--vos-muted); }
2907
+ .vos-meter2-cap { flex: 1; font-size: 8px; text-align: center; color: var(--vos-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2906
2908
 
2907
2909
  /* Pipeline id + statement (compact row) */
2908
2910
  .vos-pipe-id { font-size: 9px; color: var(--vos-muted); display: block; }
@@ -2912,8 +2914,8 @@ button.vos-verdict-title {
2912
2914
  .vos-btn-accent { background: var(--vos-accent); color: var(--vos-bg); border: none; font-weight: 600; }
2913
2915
  .vos-btn-accent:hover { filter: brightness(1.1); }
2914
2916
 
2915
- /* Recommended experiments section */
2916
- .vos-pipe-recs { margin-top: 20px; padding: 16px; }
2917
+ /* Recommended experiments section. Standardized padding 14px, gap 16px. */
2918
+ .vos-pipe-recs { margin-top: 16px; padding: 14px; }
2917
2919
  .vos-pipe-recs-head { font-size: 11px; color: var(--vos-muted); text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 12px; }
2918
2920
  .vos-pipe-recs-list { display: flex; flex-direction: column; gap: 8px; }
2919
2921
  .vos-pipe-rec { padding: 14px; border: 1px solid var(--vos-border); border-radius: 10px; background: var(--vos-surface); }
@@ -2927,51 +2929,54 @@ button.vos-verdict-title {
2927
2929
  .vos-pipe-rec-bar { font-size: 10px; color: var(--vos-muted); padding: 4px 8px; background: var(--vos-surface-2); border-radius: 4px; border-left: 3px solid var(--vos-good); }
2928
2930
  .vos-pipe-rec-bar strong { color: var(--vos-good); }
2929
2931
 
2930
- /* Breadcrumb */
2931
- .vos-crumb { display: flex; gap: 6px; font-size: 11px; margin-bottom: 12px; color: var(--vos-muted); }
2932
+ /* Breadcrumb. margin-bottom 16px to align with section rhythm. */
2933
+ .vos-crumb { display: flex; gap: 6px; font-size: 11px; margin-bottom: 16px; color: var(--vos-muted); flex-wrap: wrap; }
2932
2934
  .vos-crumb-item { display: flex; gap: 6px; align-items: center; }
2933
2935
  .vos-crumb-sep { color: var(--vos-border); }
2934
2936
  .vos-crumb-link { background: none; border: none; cursor: pointer; color: var(--vos-muted); padding: 0; font: inherit; }
2935
2937
  .vos-crumb-link:hover { color: var(--vos-accent); }
2936
2938
  .vos-crumb-current { color: var(--vos-text); font-weight: 600; }
2937
2939
 
2938
- /* List surfaces (experiments / readings) */
2939
- .vos-list-card { display: flex; flex-direction: column; gap: 4px; padding: 8px; }
2940
- .vos-list-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--vos-surface-2); border: 1px solid var(--vos-border); border-radius: 6px; cursor: pointer; text-align: left; width: 100%; color: var(--vos-text); font: inherit; }
2940
+ /* List surfaces (experiments / readings). Standardized 14px padding. */
2941
+ .vos-list-card { display: flex; flex-direction: column; gap: 4px; padding: 14px; }
2942
+ .vos-list-row { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--vos-surface-2); border: 1px solid var(--vos-border); border-radius: 6px; cursor: pointer; text-align: left; width: 100%; color: var(--vos-text); font: inherit; transition: border-color 0.15s; }
2941
2943
  .vos-list-row:hover { border-color: var(--vos-accent); }
2942
2944
  .vos-list-row-date { font-size: 9px; color: var(--vos-muted); min-width: 80px; }
2943
2945
  .vos-list-row-title { flex: 1; font-size: 12px; font-weight: 500; }
2944
2946
  .vos-list-row-meta { font-size: 10px; color: var(--vos-muted); }
2945
2947
 
2946
2948
  /* Detail head (id + tags) */
2947
- .vos-detail-head { display: flex; gap: 8px; align-items: baseline; margin-bottom: 8px; }
2949
+ .vos-detail-head { display: flex; gap: 8px; align-items: baseline; margin-bottom: 8px; flex-wrap: wrap; }
2948
2950
  .vos-detail-id { font-size: 11px; color: var(--vos-muted); }
2949
2951
  .vos-detail-tag { font-size: 9px; color: var(--vos-muted); padding: 1px 6px; border: 1px solid var(--vos-border); border-radius: 4px; }
2950
2952
  .vos-detail-title { font-size: 16px; color: var(--vos-text); font-weight: 600; margin-bottom: 16px; }
2951
2953
 
2952
- /* Next-move panel (accent-bordered, prominent) */
2954
+ /* Next-move panel (accent-bordered, prominent). Aligned with score cards below:
2955
+ matching padding 14px and margin-bottom 16px keeps the left edge consistent. */
2953
2956
  .vos-next-move { padding: 14px; margin-bottom: 16px; border-left: 3px solid var(--vos-accent); }
2954
2957
  .vos-next-move-label { font-size: 10px; color: var(--vos-muted); text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 4px; }
2955
2958
  .vos-next-move-text { font-size: 14px; color: var(--vos-accent-text); font-weight: 500; }
2956
2959
 
2957
- /* Score cards (4 in a row) */
2960
+ /* Score cards (4 in a row). Same padding (14px) + left edge as .vos-next-move
2961
+ via shared margin/padding; values vertically centered with flex column. */
2958
2962
  .vos-score-cards { display: flex; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
2959
- .vos-score-card { flex: 1; min-width: 100px; padding: 12px; text-align: center; background: var(--vos-surface); border: 1px solid var(--vos-border); border-radius: 10px; }
2960
- .vos-score-value { font-size: 22px; font-weight: 700; color: var(--vos-text); }
2963
+ .vos-score-card { flex: 1; min-width: 100px; padding: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; background: var(--vos-surface); border: 1px solid var(--vos-border); border-radius: 10px; }
2964
+ .vos-score-value { font-size: 22px; font-weight: 700; color: var(--vos-text); line-height: 1; }
2961
2965
  .vos-score-label { font-size: 10px; color: var(--vos-muted); }
2962
2966
 
2963
- /* Detail sections */
2967
+ /* Detail sections. Standardized 14px padding, 16px section gap. */
2964
2968
  .vos-detail-section { padding: 14px; margin-bottom: 16px; }
2965
2969
  .vos-detail-section-label { font-size: 11px; color: var(--vos-muted); text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 8px; }
2966
2970
 
2967
- /* Evidence composition (per-rung bars) */
2968
- .vos-comp-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
2969
- .vos-comp-rung { width: 90px; font-size: 10px; color: var(--vos-text); }
2971
+ /* Evidence composition (per-rung bars). Rung label shrinks on narrow screens;
2972
+ value + count fixed so columns align; row wraps gracefully under ~360px. */
2973
+ .vos-comp-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; flex-wrap: nowrap; }
2974
+ .vos-comp-rung { width: 90px; flex-shrink: 0; font-size: 10px; color: var(--vos-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2970
2975
  .vos-comp-rung.is-empty { color: var(--vos-muted); }
2971
- .vos-comp-bar { flex: 1; height: 10px; background: var(--vos-surface-2); border-radius: 5px; overflow: hidden; }
2976
+ .vos-comp-bar { flex: 1 1 80px; min-width: 60px; height: 10px; background: var(--vos-surface-2); border-radius: 5px; overflow: hidden; }
2972
2977
  .vos-comp-fill { display: block; height: 100%; background: var(--vos-accent); border-radius: 5px; }
2973
- .vos-comp-val { width: 60px; text-align: right; font-size: 10px; color: var(--vos-muted); }
2974
- .vos-comp-count { width: 40px; font-size: 9px; color: var(--vos-muted); }
2978
+ .vos-comp-val { width: 70px; flex-shrink: 0; text-align: right; font-size: 10px; color: var(--vos-muted); }
2979
+ .vos-comp-count { width: 40px; flex-shrink: 0; font-size: 9px; color: var(--vos-muted); }
2975
2980
 
2976
2981
  /* Relations */
2977
2982
  .vos-rel-group { margin-bottom: 10px; }
@@ -2988,8 +2993,8 @@ button.vos-verdict-title {
2988
2993
  .vos-rel-title { flex: 1; }
2989
2994
  .vos-rel-tag { font-size: 8px; color: var(--vos-muted); padding: 1px 4px; border: 1px solid var(--vos-border); border-radius: 3px; }
2990
2995
 
2991
- /* Linked rows (experiments + readings on assumption detail) */
2992
- .vos-linked-row { display: flex; gap: 8px; align-items: center; text-align: left; background: var(--vos-surface-2); border: 1px solid var(--vos-border); border-radius: 6px; padding: 10px; cursor: pointer; width: 100%; margin-bottom: 6px; font: inherit; color: var(--vos-text); }
2996
+ /* Linked rows (experiments + readings on assumption detail). 14px padding. */
2997
+ .vos-linked-row { display: flex; gap: 8px; align-items: center; text-align: left; background: var(--vos-surface-2); border: 1px solid var(--vos-border); border-radius: 6px; padding: 14px; cursor: pointer; width: 100%; margin-bottom: 6px; font: inherit; color: var(--vos-text); transition: border-color 0.15s; }
2993
2998
  .vos-linked-row:hover { border-color: var(--vos-accent); }
2994
2999
  .vos-linked-gauge { font-size: 16px; font-weight: 700; min-width: 32px; text-align: center; }
2995
3000
  .vos-linked-title { flex: 1; font-size: 12px; }
@@ -2997,9 +3002,9 @@ button.vos-verdict-title {
2997
3002
  .vos-linked-bar strong { color: var(--vos-good); }
2998
3003
 
2999
3004
  /* Reading head + excerpt */
3000
- .vos-reading-head { display: flex; gap: 8px; align-items: baseline; margin-bottom: 4px; }
3005
+ .vos-reading-head { display: flex; gap: 8px; align-items: baseline; margin-bottom: 4px; flex-wrap: wrap; }
3001
3006
  .vos-reading-date { font-size: 9px; color: var(--vos-muted); }
3002
- .vos-reading-title { flex: 1; font-size: 12px; font-weight: 500; }
3007
+ .vos-reading-title { flex: 1; font-size: 12px; font-weight: 500; min-width: 0; }
3003
3008
  .vos-reading-source { font-size: 9px; color: var(--vos-muted); }
3004
3009
  .vos-reading-excerpt { padding: 4px 8px; border-left: 3px solid var(--vos-border); background: var(--vos-surface); border-radius: 0 4px 4px 0; font-style: italic; font-size: 11px; color: var(--vos-text); margin: 4px 0; }
3005
3010
  .vos-verdict-border-good { border-left-color: var(--vos-good); }
@@ -3008,12 +3013,12 @@ button.vos-verdict-title {
3008
3013
  .vos-rung-tag { font-size: 8px; color: var(--vos-muted); padding: 1px 5px; background: var(--vos-surface-2); border-radius: 3px; }
3009
3014
  .vos-link { color: var(--vos-accent-text); cursor: pointer; background: none; border: none; font: inherit; padding: 0; }
3010
3015
 
3011
- /* Experiment detail: confidence gauge + coverage */
3012
- .vos-exp-head { display: flex; gap: 16px; margin-bottom: 16px; padding: 12px; }
3016
+ /* Experiment detail: confidence gauge + coverage. 14px padding. */
3017
+ .vos-exp-head { display: flex; gap: 16px; margin-bottom: 16px; padding: 14px; }
3013
3018
  .vos-exp-gauge { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 100px; }
3014
3019
  .vos-gauge-num { font-size: 32px; font-weight: 700; color: var(--vos-text); }
3015
3020
  .vos-gauge-label { font-size: 9px; color: var(--vos-muted); text-align: center; }
3016
- .vos-exp-coverage { flex: 1; }
3021
+ .vos-exp-coverage { flex: 1; min-width: 0; }
3017
3022
  .vos-coverage-label { font-size: 11px; color: var(--vos-muted); margin-bottom: 6px; }
3018
3023
  .vos-coverage-bar { height: 10px; background: var(--vos-surface-2); border-radius: 5px; overflow: hidden; display: flex; }
3019
3024
  .vos-coverage-good { background: var(--vos-good); height: 100%; }
@@ -3027,53 +3032,56 @@ button.vos-verdict-title {
3027
3032
  .vos-dot-warn { background: var(--vos-warn); }
3028
3033
  .vos-dot-empty { background: var(--vos-surface-2); border: 1px solid var(--vos-border); }
3029
3034
 
3030
- /* Reading card (in experiment detail) */
3031
- .vos-reading-card { padding: 12px; margin-bottom: 8px; background: var(--vos-surface-2); border-radius: 8px; border: 1px solid var(--vos-border); }
3035
+ /* Reading card (in experiment detail). 14px padding, 8px gap. */
3036
+ .vos-reading-card { padding: 14px; margin-bottom: 8px; background: var(--vos-surface-2); border-radius: 8px; border: 1px solid var(--vos-border); }
3032
3037
  .vos-reading-quotes { margin: 4px 0; display: flex; flex-direction: column; gap: 4px; }
3033
3038
  .vos-reading-quote { padding: 4px 8px; border-left: 3px solid var(--vos-border); background: var(--vos-surface); border-radius: 0 4px 4px 0; font-style: italic; font-size: 11px; color: var(--vos-text); }
3034
3039
  .vos-reading-quote-id { font-style: normal; font-size: 9px; color: var(--vos-muted); }
3035
3040
  .vos-reading-beliefs-label { font-size: 10px; color: var(--vos-muted); margin-bottom: 4px; }
3036
3041
 
3037
- /* Belief card (per-belief verdict) */
3038
- .vos-belief-card { padding: 8px; margin-bottom: 4px; background: var(--vos-surface); border-radius: 6px; border: 1px solid var(--vos-border); }
3039
- .vos-belief-head { display: flex; gap: 6px; align-items: baseline; margin-bottom: 4px; }
3042
+ /* Belief card (per-belief verdict). 14px padding, 8px gap; head wraps cleanly. */
3043
+ .vos-belief-card { padding: 14px; margin-bottom: 8px; background: var(--vos-surface); border-radius: 6px; border: 1px solid var(--vos-border); }
3044
+ .vos-belief-head { display: flex; gap: 8px; align-items: center; margin-bottom: 6px; flex-wrap: wrap; }
3040
3045
  .vos-belief-id { background: none; border: none; cursor: pointer; font-size: 10px; color: var(--vos-accent-text); padding: 0; font-family: var(--vos-mono); }
3041
3046
  .vos-belief-id:hover { text-decoration: underline; }
3042
- .vos-belief-title { flex: 1; font-size: 11px; color: var(--vos-text); }
3047
+ .vos-belief-title { flex: 1 1 200px; font-size: 11px; color: var(--vos-text); min-width: 0; }
3043
3048
  .vos-belief-bar { font-size: 9px; color: var(--vos-muted); margin-top: 4px; padding-left: 8px; border-left: 2px solid var(--vos-border); }
3044
3049
  .vos-belief-bar-label { font-size: 8px; color: var(--vos-muted); text-transform: uppercase; letter-spacing: 0.3px; margin-bottom: 2px; }
3045
3050
  .vos-belief-bar strong { color: var(--vos-good); }
3046
3051
  .vos-belief-why { font-size: 10px; color: var(--vos-muted); margin-top: 4px; }
3047
3052
  .vos-belief-excerpt { padding: 6px 10px; border-left: 3px solid var(--vos-border); background: var(--vos-surface); border-radius: 0 4px 4px 0; margin: 4px 0 6px; font-style: italic; font-size: 12px; color: var(--vos-text); }
3048
3053
 
3049
- /* Unstarted bars section */
3054
+ /* Unstarted bars section. 14px padding, 8px gap. */
3050
3055
  .vos-unstarted { border-style: dashed; }
3051
- .vos-unstarted-bar { padding: 8px; margin-bottom: 4px; background: var(--vos-surface-2); border-radius: 6px; border: 1px dashed var(--vos-border); }
3056
+ .vos-unstarted-bar { padding: 14px; margin-bottom: 8px; background: var(--vos-surface-2); border-radius: 6px; border: 1px dashed var(--vos-border); }
3052
3057
 
3053
3058
  /* ── DEV-5879 fixes: donut gauge, experiment rows, collapsible readings ── */
3054
3059
 
3055
- /* Confidence donut gauge (SVG ring) */
3056
- .vos-donut { position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }
3057
- .vos-donut-num { position: absolute; font-weight: 700; color: var(--vos-text); }
3060
+ /* Confidence donut gauge (SVG ring). Number centered via grid overlay. */
3061
+ .vos-donut { position: relative; display: inline-grid; place-items: center; flex-shrink: 0; }
3062
+ .vos-donut-num { grid-area: 1 / 1; font-weight: 700; color: var(--vos-text); text-align: center; line-height: 1; }
3058
3063
 
3059
- /* Experiment list — bigger rows with donut gauge */
3060
- .vos-exp-list { display: flex; flex-direction: column; gap: 8px; padding: 12px; }
3064
+ /* Experiment list — bigger rows with donut gauge. 14px padding, more breathing room. */
3065
+ .vos-exp-list { display: flex; flex-direction: column; gap: 10px; padding: 14px; }
3061
3066
  .vos-exp-row { display: flex; align-items: center; gap: 16px; padding: 14px 16px; background: var(--vos-surface-2); border: 1px solid var(--vos-border); border-radius: 10px; cursor: pointer; text-align: left; width: 100%; color: var(--vos-text); font: inherit; transition: border-color 0.15s; }
3062
3067
  .vos-exp-row:hover { border-color: var(--vos-accent); }
3063
3068
  .vos-exp-row-body { flex: 1; min-width: 0; }
3064
- .vos-exp-row-title { font-size: 14px; font-weight: 500; color: var(--vos-text); margin-bottom: 4px; }
3069
+ .vos-exp-row-title { font-size: 14px; font-weight: 500; color: var(--vos-text); margin-bottom: 6px; }
3065
3070
  .vos-exp-row-meta { font-size: 11px; color: var(--vos-muted); }
3066
3071
 
3067
- /* Collapsible reading card (progressive disclosure) */
3068
- .vos-reading-collapse { border: 1px solid var(--vos-border); border-radius: 8px; margin-bottom: 8px; background: var(--vos-surface-2); overflow: hidden; }
3069
- .vos-reading-collapse > summary { display: flex; gap: 12px; align-items: baseline; padding: 12px 14px; cursor: pointer; list-style: none; user-select: none; }
3072
+ /* Collapsible reading card (progressive disclosure).
3073
+ Summary bar: 14px padding, hover state, balanced spacing. */
3074
+ .vos-reading-collapse { border: 1px solid var(--vos-border); border-radius: 8px; margin-bottom: 8px; background: var(--vos-surface-2); overflow: hidden; transition: border-color 0.15s; }
3075
+ .vos-reading-collapse:hover { border-color: var(--vos-border-strong); }
3076
+ .vos-reading-collapse[open] { border-color: var(--vos-border-strong); }
3077
+ .vos-reading-collapse > summary { display: flex; gap: 12px; align-items: center; padding: 14px 16px; cursor: pointer; list-style: none; user-select: none; transition: background 0.15s; }
3070
3078
  .vos-reading-collapse > summary::-webkit-details-marker { display: none; }
3071
- .vos-reading-collapse > summary::before { content: "▸"; color: var(--vos-muted); font-size: 10px; transition: transform 0.15s; }
3079
+ .vos-reading-collapse > summary::before { content: "▸"; color: var(--vos-muted); font-size: 10px; transition: transform 0.15s; flex-shrink: 0; }
3072
3080
  .vos-reading-collapse[open] > summary::before { transform: rotate(90deg); }
3073
3081
  .vos-reading-collapse > summary:hover { background: var(--vos-surface); }
3074
- .vos-reading-card-summary { display: flex; gap: 12px; align-items: baseline; width: 100%; }
3075
- .vos-reading-beliefs-count { font-size: 10px; color: var(--vos-muted); margin-left: auto; }
3076
- .vos-reading-card-body { padding: 0 14px 12px; }
3082
+ .vos-reading-card-summary { display: flex; gap: 12px; align-items: center; width: 100%; min-width: 0; }
3083
+ .vos-reading-beliefs-count { font-size: 10px; color: var(--vos-muted); margin-left: auto; flex-shrink: 0; }
3084
+ .vos-reading-card-body { padding: 0 16px 14px; }
3077
3085
 
3078
3086
  /* Evidence composition — fix the value display (signed contributions) */
3079
3087
  .vos-comp-val { width: 70px; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@validation-os/dashboard",
3
- "version": "0.15.1",
3
+ "version": "0.15.2",
4
4
  "description": "React dashboard components + hooks for validation-os, consuming the DataProvider seam.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -22,7 +22,7 @@
22
22
  "access": "public"
23
23
  },
24
24
  "dependencies": {
25
- "@validation-os/core": "0.15.1"
25
+ "@validation-os/core": "0.15.2"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "react": ">=18",