1- .content {
1+ .page-root {
2+ display : flex;
3+ flex-direction : column;
24 width : 100% ;
5+ min-height : 0 ;
36}
47
5- .actions-row {
8+ .toolbar {
69 display : flex;
7- align-items : center ;
10+ align-items : flex-start ;
811 gap : 16px ;
9- margin : 0 20px ;
12+ padding : 16px 24px 12px ;
13+ }
14+
15+ .search-wrap {
16+ flex : 1 1 360px ;
17+ min-width : 260px ;
18+ display : flex;
19+ flex-direction : column;
20+ gap : 6px ;
21+ }
22+
23+ .search-field { width : 100% ; }
24+
25+ .search-field .mat-form-field-wrapper ,
26+ .search-field .mat-mdc-form-field-subscript-wrapper {
27+ display : none !important ;
28+ }
29+
30+ .search-icon {
31+ color : var (--text-secondary , # 757575 );
32+ font-size : 18px ;
33+ margin-right : 4px ;
34+ }
35+
36+ .search-chip {
37+ font-size : 0.76rem !important ;
38+ height : 22px !important ;
39+ background : rgba (255 , 255 , 255 , 0.1 ) !important ;
40+ color : var (--text-primary , # e0e0e0 ) !important ;
41+ border : 1px solid rgba (255 , 255 , 255 , 0.18 ) !important ;
42+ letter-spacing : 0.01em ;
43+ }
44+ .search-chip .mat-chip-remove ,
45+ .search-chip button [matChipRemove ] {
46+ color : var (--text-secondary , # 9e9e9e ) !important ;
47+ opacity : 1 !important ;
48+ }
49+
50+ .clear-btn { color : var (--text-tertiary , # 616161 ) !important ; }
51+ .clear-btn : hover { color : var (--text-secondary , # 9e9e9e ) !important ; }
52+
53+ .search-status {
54+ font-size : 0.76rem ;
55+ line-height : 1.4 ;
56+ padding-left : 1px ;
57+ min-height : 18px ;
58+ }
59+
60+ .status-idle { color : var (--text-tertiary , # 616161 ); }
61+
62+ .status-idle kbd {
63+ display : inline-flex;
64+ align-items : center;
65+ padding : 0 4px ;
66+ border : 1px solid rgba (255 , 255 , 255 , 0.12 );
67+ border-radius : 3px ;
68+ font-family : inherit;
69+ font-size : 0.72rem ;
70+ background : rgba (255 , 255 , 255 , 0.05 );
71+ color : var (--text-secondary , # 9e9e9e );
72+ vertical-align : middle;
73+ }
74+
75+ .status-active {
76+ color : var (--text-secondary , # 9e9e9e );
77+ display : flex;
78+ align-items : center;
1079 flex-wrap : wrap;
80+ gap : 4px ;
1181}
1282
13- .search-box {
14- flex : 1 1 320px ;
15- min-width : 220px ;
16- max-width : 400px ;
83+ .match-count {
84+ font-weight : 600 ;
85+ color : var (--accent-green , # 4caf50 );
1786}
1887
19- .export-btn {
88+ .term-list {
89+ font-weight : 600 ;
90+ color : var (--text-primary , # e0e0e0 );
91+ }
92+
93+ .clear-link {
94+ background : none;
95+ border : none;
96+ padding : 0 ;
97+ cursor : pointer;
98+ font-size : inherit;
99+ color : var (--text-tertiary , # 616161 );
100+ text-decoration : underline;
101+ text-underline-offset : 2px ;
102+ }
103+ .clear-link : hover { color : var (--text-secondary , # 9e9e9e ); }
104+
105+ .toolbar-actions {
20106 margin-left : auto;
21- min-width : 140px ;
107+ display : flex;
108+ align-items : center;
109+ align-self : flex-start;
110+ margin-top : 4px ;
111+ }
112+
113+ .export-btn {
114+ font-size : 0.82rem ;
115+ height : 36px ;
116+ gap : 4px ;
117+ background : var (--accent-green , # 4caf50 ) !important ;
118+ color : # 071a09 !important ;
119+ border-color : transparent !important ;
120+ }
121+ .export-btn : not ([disabled ]): hover { background : # 66bb6a !important ; }
122+ .export-btn [disabled ] { opacity : 0.35 ; }
123+
124+ .table-wrap {
125+ position : relative;
126+ display : flex;
127+ flex-direction : column;
128+ margin : 0 24px 32px ;
129+ border-radius : 6px ;
130+ overflow : hidden;
131+ border : 1px solid var (--border-subtle , rgba (255 , 255 , 255 , 0.08 ));
132+ min-height : 200px ;
133+ flex : 1 ;
22134}
23135
24- .matrix-table {
25- margin : 20px ;
136+ .loading-overlay {
137+ position : absolute;
138+ inset : 0 ;
139+ z-index : 10 ;
140+ display : flex;
141+ flex-direction : column;
142+ align-items : center;
143+ justify-content : center;
144+ gap : 14px ;
145+ background : var (--surface-00 , rgba (28 , 28 , 28 , 0.9 ));
146+ }
147+ .loading-text {
148+ font-size : 0.84rem ;
149+ color : var (--text-secondary , # 9e9e9e );
26150}
27151
28- .mat-cell , .mat-header-cell {
29- padding : 20px 10px ;
30- width : 12.5% ;
31- max-width : 12.5% ;
32- word-wrap : break-word;
152+ .mapping-table {
153+ width : 100% ;
154+ table-layout : fixed;
33155}
34156
157+ .mapping-table .mat-column-dimension { width : 12% ; }
158+ .mapping-table .mat-column-subDimension { width : 15% ; }
159+ .mapping-table .mat-column-activityName { width : 26% ; }
160+ .mapping-table .mat-column-samm2 { width : 14% ; }
161+ .mapping-table .mat-column-ISO17 { width : 16% ; }
162+ .mapping-table .mat-column-ISO22 { width : 17% ; }
163+
35164.mat-header-cell {
36- font-size : 16px ;
165+ font-size : 0.68rem ;
166+ font-weight : 700 ;
167+ letter-spacing : 0.08em ;
168+ text-transform : uppercase;
169+ color : var (--text-tertiary , # 757575 );
170+ padding : 10px 12px ;
171+ background : var (--surface-01 , # 272727 );
172+ border-bottom : 1px solid var (--border-subtle , rgba (255 , 255 , 255 , 0.08 ));
173+ white-space : nowrap;
174+ }
175+ .mat-sort-header-container { overflow : visible; }
176+ .mat-header-cell .mat-sort-header-button { padding-right : 18px ; }
177+ .mat-sort-header [disabled ] { cursor : default; pointer-events : none; }
178+
179+ .mat-cell {
180+ padding : 11px 12px ;
181+ vertical-align : top;
182+ font-size : 0.84rem ;
183+ line-height : 1.55 ;
184+ color : var (--text-primary , # e0e0e0 );
185+ border-bottom : 1px solid var (--border-subtle , rgba (255 , 255 , 255 , 0.05 ));
186+ word-break : break-word;
187+ }
188+
189+ .data-row { transition : background 80ms ease; }
190+ .data-row : hover { background : rgba (255 , 255 , 255 , 0.04 ); }
191+ .data-row : nth-child (even) { background : rgba (255 , 255 , 255 , 0.015 ); }
192+ .data-row : nth-child (even): hover { background : rgba (255 , 255 , 255 , 0.045 ); }
193+
194+ .cell-dimension { color : var (--text-secondary , # 9e9e9e ); font-size : 0.80rem ; }
195+ .cell-subdimension { color : var (--text-secondary , # 9e9e9e ); font-size : 0.82rem ; }
196+
197+ .activity-link {
198+ display : block;
199+ color : var (--accent-green , # 4caf50 );
200+ text-decoration : none;
37201 font-weight : 500 ;
202+ font-size : 0.85rem ;
203+ line-height : 1.45 ;
204+ }
205+ .activity-link : hover {
206+ text-decoration : underline;
207+ text-underline-offset : 2px ;
208+ color : # 6fcf73 ;
209+ }
210+
211+ .level-pill {
212+ display : inline-block;
213+ margin-top : 3px ;
214+ font-size : 0.70rem ;
215+ letter-spacing : 0.04em ;
216+ color : var (--text-tertiary , # 616161 );
217+ font-weight : 500 ;
218+ }
219+
220+ .cell-refs { vertical-align : top; }
221+ .refs-text {
222+ font-size : 0.78rem ;
223+ color : var (--text-secondary , # 9e9e9e );
224+ line-height : 1.6 ;
225+ }
226+
227+ .cell-empty {
228+ color : var (--text-tertiary , # 424242 );
229+ user-select : none;
230+ font-size : 0.85rem ;
231+ }
232+
233+ .no-data-cell { border : none !important ; padding : 0 !important ; }
234+
235+ .no-data {
236+ display : flex;
237+ flex-direction : column;
238+ align-items : center;
239+ justify-content : center;
240+ gap : 10px ;
241+ padding : 60px 20px ;
242+ text-align : center;
243+ }
244+
245+ .no-data mat-icon {
246+ font-size : 2rem ;
247+ width : 2rem ;
248+ height : 2rem ;
249+ color : var (--text-tertiary , # 424242 );
250+ }
251+
252+ .no-data p {
253+ margin : 0 ;
254+ font-size : 0.88rem ;
255+ color : var (--text-secondary , # 9e9e9e );
256+ }
257+
258+ .no-data button {
259+ font-size : 0.80rem ;
260+ border-color : var (--border-subtle , rgba (255 , 255 , 255 , 0.12 )) !important ;
261+ color : var (--text-secondary , # 9e9e9e ) !important ;
262+ }
263+ .no-data button : hover {
264+ border-color : rgba (255 , 255 , 255 , 0.25 ) !important ;
265+ color : var (--text-primary , # e0e0e0 ) !important ;
266+ }
267+
268+ mat-paginator {
269+ background : var (--surface-01 , # 272727 );
270+ border-top : 1px solid var (--border-subtle , rgba (255 , 255 , 255 , 0.07 ));
271+ font-size : 0.80rem ;
272+ color : var (--text-secondary , # 9e9e9e );
38273}
39274
40- .content ::ng-deep .mat-form-field-wrapper {
41- padding-bottom : 0 ;
275+ @media (max-width : 900px ) {
276+ .toolbar { flex-wrap : wrap; }
277+ .toolbar-actions { margin-left : 0 ; align-self : flex-end; }
42278}
43279
44- .hide {
45- display : none;
280+ @media (max-width : 700px ) {
281+ .table-wrap { margin : 0 8px 24px ; overflow-x : auto; }
282+ .mapping-table { table-layout : auto; min-width : 680px ; }
283+ .export-btn { width : 100% ; }
46284}
0 commit comments