|
139 | 139 | box-shadow:var(--shadow-sm)} |
140 | 140 | .topbar-inner{display:flex;align-items:center;justify-content:space-between; |
141 | 141 | height:72px;padding:0 var(--sp-6);max-width:var(--container-max);margin:0 auto} |
142 | | -.brand{display:flex;align-items:center;gap:var(--sp-3)} |
| 142 | +.brand{display:flex;align-items:center;gap:var(--sp-3);min-width:0;flex:1} |
143 | 143 | .brand-logo{flex-shrink:0} |
144 | | -.brand-text{display:flex;flex-direction:column;gap:2px} |
145 | | -.brand h1{font-size:1.15rem;font-weight:700;color:var(--text-primary);line-height:1.3} |
146 | | -.brand-meta{font-size:.78rem;color:var(--text-muted)} |
147 | | -.brand-project{font-weight:500;color:var(--text-secondary)} |
| 144 | +.brand-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1} |
| 145 | +.brand h1{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-1);font-size:1.15rem; |
| 146 | + font-weight:700;color:var(--text-primary);line-height:1.3;min-width:0} |
| 147 | +.brand-meta{font-size:.78rem;color:var(--text-muted);overflow-wrap:anywhere} |
| 148 | +.brand-project{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px; |
| 149 | + font-weight:500;color:var(--text-secondary);min-width:0} |
148 | 150 | .brand-project-name{font-family:var(--font-mono);font-size:.85em;font-weight:500;padding:1px 5px; |
149 | | - border-radius:var(--radius-sm);background:var(--bg-overlay);color:var(--accent-primary)} |
150 | | -.topbar-actions{display:flex;align-items:center;gap:var(--sp-2)} |
| 151 | + border-radius:var(--radius-sm);background:var(--bg-overlay);color:var(--accent-primary); |
| 152 | + max-width:100%;overflow-wrap:anywhere} |
| 153 | +.topbar-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0;flex-wrap:wrap} |
151 | 154 |
|
152 | 155 | /* Theme toggle */ |
153 | 156 | .theme-toggle{display:inline-flex;align-items:center;gap:var(--sp-1); |
|
284 | 287 | # --------------------------------------------------------------------------- |
285 | 288 |
|
286 | 289 | _TABLES = """\ |
287 | | -.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg); |
288 | | - margin-bottom:var(--sp-4)} |
289 | | -.table{width:100%;border-collapse:collapse;font-size:.82rem;font-family:var(--font-mono)} |
| 290 | +.table-wrap{display:block;inline-size:100%;max-inline-size:100%;min-inline-size:0;overflow-x:auto; |
| 291 | + overflow-y:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--sp-4); |
| 292 | + background: |
| 293 | + linear-gradient(to right,var(--bg-surface) 30%,transparent) left center / 40px 100% no-repeat local, |
| 294 | + linear-gradient(to left,var(--bg-surface) 30%,transparent) right center / 40px 100% no-repeat local, |
| 295 | + linear-gradient(to right,rgba(0,0,0,.15),transparent) left center / 14px 100% no-repeat scroll, |
| 296 | + linear-gradient(to left,rgba(0,0,0,.15),transparent) right center / 14px 100% no-repeat scroll} |
| 297 | +.table{inline-size:max-content;min-inline-size:100%;border-collapse:collapse;font-size:.82rem; |
| 298 | + font-family:var(--font-mono)} |
290 | 299 | .table th{position:sticky;top:0;z-index:2;padding:var(--sp-2) var(--sp-3);text-align:left;font-family:var(--font-sans); |
291 | 300 | font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em; |
292 | 301 | color:var(--text-muted);background:var(--bg-overlay);border-bottom:1px solid var(--border); |
|
300 | 309 | .table tr:last-child td{border-bottom:none} |
301 | 310 | .table tr:hover td{background:var(--bg-raised)} |
302 | 311 | .table .col-name{font-weight:500;color:var(--text-primary)} |
303 | | -.table .col-file{color:var(--text-muted);max-width:240px;overflow:hidden; |
| 312 | +.table .col-file,.table .col-path{color:var(--text-muted);max-width:240px;overflow:hidden; |
304 | 313 | text-overflow:ellipsis;white-space:nowrap} |
305 | | -.table .col-number{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap} |
306 | | -.table .col-risk{white-space:nowrap} |
| 314 | +.table .col-number,.table .col-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap} |
| 315 | +.table .col-risk,.table .col-badge,.table .col-cat{white-space:nowrap} |
| 316 | +.table .col-steps{max-width:120px;word-break:break-word} |
307 | 317 | .table .col-wide{max-width:320px;word-break:break-all} |
308 | 318 | .table-empty{padding:var(--sp-8);text-align:center;color:var(--text-muted);font-size:.9rem} |
309 | 319 | """ |
|
478 | 488 | } |
479 | 489 | @media(max-width:520px){ |
480 | 490 | .overview-kpi-cards{grid-template-columns:1fr} |
| 491 | + .overview-kpi-cards .meta-item{grid-template-rows:auto auto auto;align-content:start; |
| 492 | + min-height:0} |
| 493 | + .overview-kpi-cards .meta-item .meta-label{min-height:0} |
| 494 | + .overview-kpi-cards .meta-item .meta-value{padding-top:0} |
| 495 | + .overview-kpi-cards .kpi-detail{align-self:start} |
| 496 | + .overview-kpi-cards .kpi-micro{max-width:100%;white-space:normal;overflow-wrap:anywhere} |
481 | 497 | } |
482 | 498 |
|
483 | 499 | /* Health gauge */ |
|
510 | 526 | background:var(--bg-alt)} |
511 | 527 |
|
512 | 528 | /* Badge modal */ |
513 | | -.badge-modal{max-width:540px;width:90vw;max-height:85vh} |
| 529 | +.badge-modal{max-width:680px;width:92vw;max-height:85vh} |
514 | 530 | .badge-modal .modal-head{display:flex;align-items:center;justify-content:space-between; |
515 | 531 | padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)} |
516 | 532 | .badge-modal .modal-head h2{font-size:1rem;font-weight:700;margin:0} |
|
916 | 932 | /* Provenance summary badges */ |
917 | 933 | .prov-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px; |
918 | 934 | padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border)} |
919 | | -.prov-badge{font-size:.65rem;font-weight:600;padding:2px 8px; |
920 | | - border-radius:10px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px} |
921 | | -.prov-badge.green{background:var(--success-muted);color:var(--success)} |
922 | | -.prov-badge.red{background:var(--error-muted);color:var(--error)} |
923 | | -.prov-badge.amber{background:var(--warning-muted);color:var(--warning)} |
924 | | -.prov-badge.neutral{background:var(--bg-overlay);color:var(--text-muted)} |
| 935 | +.prov-badge{display:inline-flex;align-items:center;gap:4px;font-size:.66rem; |
| 936 | + padding:2px 8px;border-radius:var(--radius-sm);background:var(--bg-raised); |
| 937 | + white-space:nowrap;line-height:1.3;border:1px solid color-mix(in srgb,var(--border) 55%,transparent)} |
| 938 | +.prov-badge-val{font-weight:600;font-variant-numeric:tabular-nums} |
| 939 | +.prov-badge-lbl{font-weight:400;color:var(--text-muted);text-transform:lowercase} |
| 940 | +.prov-badge--green{background:var(--success-muted);border-color:color-mix(in srgb,var(--success) 20%,transparent)} |
| 941 | +.prov-badge--green .prov-badge-val{color:var(--success)} |
| 942 | +.prov-badge--red{background:var(--error-muted);border-color:color-mix(in srgb,var(--error) 20%,transparent)} |
| 943 | +.prov-badge--red .prov-badge-val{color:var(--error)} |
| 944 | +.prov-badge--amber{background:var(--warning-muted);border-color:color-mix(in srgb,var(--warning) 20%,transparent)} |
| 945 | +.prov-badge--amber .prov-badge-val{color:var(--warning)} |
| 946 | +.prov-badge--neutral{background:var(--bg-overlay);border-color:color-mix(in srgb,var(--border) 75%,transparent)} |
| 947 | +.prov-badge--neutral .prov-badge-val{color:var(--text-secondary)} |
925 | 948 | .prov-explain{font-size:.62rem;color:var(--text-muted);margin-left:auto;font-style:italic} |
926 | 949 | """ |
927 | 950 |
|
|
1033 | 1056 | .overview-row-spread{margin-left:0;width:100%} |
1034 | 1057 | .suggestion-head{flex-direction:column;align-items:flex-start} |
1035 | 1058 | .suggestion-facts{grid-template-columns:1fr} |
| 1059 | + .sf-head{flex-direction:column;align-items:flex-start} |
| 1060 | + .sf-meta{width:100%} |
1036 | 1061 | .container{padding:0 var(--sp-3)} |
1037 | | - .main-tabs{padding:0 var(--sp-3)} |
| 1062 | + .topbar{position:static} |
| 1063 | + .topbar-inner{height:auto;padding:var(--sp-2) var(--sp-3);flex-direction:row; |
| 1064 | + align-items:center;gap:var(--sp-2)} |
| 1065 | + .brand{flex:1;min-width:0;align-items:center;gap:var(--sp-2)} |
| 1066 | + .brand-logo{width:24px;height:24px} |
| 1067 | + .brand-text{gap:0} |
| 1068 | + .brand h1{font-size:.85rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} |
| 1069 | + .brand-project-name{font-size:.78em;padding:0 3px} |
| 1070 | + .brand-meta{display:none} |
| 1071 | + .topbar-actions{flex-shrink:0;gap:var(--sp-1)} |
| 1072 | + .topbar-actions .btn-prov{font-size:0;gap:0;width:32px;height:32px; |
| 1073 | + padding:0;align-items:center;justify-content:center} |
| 1074 | + .topbar-actions .btn-prov .prov-dot{width:10px;height:10px} |
| 1075 | + .theme-toggle{font-size:0;gap:0;width:32px;height:32px; |
| 1076 | + padding:0;align-items:center;justify-content:center} |
| 1077 | + .theme-toggle svg{width:16px;height:16px} |
| 1078 | + .main-tabs-wrap{position:sticky;top:0;z-index:90;padding:var(--sp-2) 0 0} |
| 1079 | + .main-tabs{padding:var(--sp-1);gap:2px; |
| 1080 | + background: |
| 1081 | + linear-gradient(to right,var(--bg-surface) 30%,transparent) left center / 28px 100% no-repeat local, |
| 1082 | + linear-gradient(to left,var(--bg-surface) 30%,transparent) right center / 28px 100% no-repeat local, |
| 1083 | + linear-gradient(to right,rgba(0,0,0,.12),transparent) left center / 10px 100% no-repeat scroll, |
| 1084 | + linear-gradient(to left,rgba(0,0,0,.12),transparent) right center / 10px 100% no-repeat scroll, |
| 1085 | + var(--bg-surface)} |
| 1086 | + .main-tab{flex:none;padding:var(--sp-1) var(--sp-2);font-size:.78rem} |
1038 | 1087 | } |
1039 | 1088 | @media(max-width:480px){ |
1040 | 1089 | .overview-kpi-grid{grid-template-columns:1fr} |
1041 | 1090 | .search-box input[type="text"]{width:140px} |
| 1091 | + .brand-logo{width:28px;height:28px} |
1042 | 1092 | } |
1043 | 1093 |
|
1044 | 1094 | /* Print */ |
|
0 commit comments