@imenam/mcp-messenger 1.0.30 → 1.0.32

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.
@@ -17,6 +17,8 @@
17
17
  --neutral-soft: #eef0f3;
18
18
  --radius: 8px;
19
19
  --topbar-h: 56px;
20
+ /* Largeur maximale de l'application : au-delà, elle est centrée entre deux marges. */
21
+ --app-max: 1600px;
20
22
  }
21
23
 
22
24
  @media (prefers-color-scheme: dark) {
@@ -77,7 +79,7 @@ body {
77
79
  align-items: center;
78
80
  gap: 16px;
79
81
  height: var(--topbar-h);
80
- padding: 0 20px;
82
+ padding: 0 max(20px, calc((100% - var(--app-max)) / 2 + 20px));
81
83
  background: var(--panel);
82
84
  border-bottom: 1px solid var(--border);
83
85
  }
@@ -560,6 +562,20 @@ body {
560
562
  height: calc(100vh - var(--topbar-h));
561
563
  }
562
564
 
565
+ .console,
566
+ .links {
567
+ max-width: var(--app-max);
568
+ margin: 0 auto;
569
+ }
570
+
571
+ @media (min-width: 1601px) {
572
+ .console,
573
+ .links {
574
+ border-left: 1px solid var(--border);
575
+ border-right: 1px solid var(--border);
576
+ }
577
+ }
578
+
563
579
  .console.is-collapsed {
564
580
  grid-template-columns: 57px var(--w-gutter) var(--w-threads) var(--w-gutter) minmax(0, 1fr);
565
581
  }
@@ -1813,39 +1829,811 @@ body {
1813
1829
  color: var(--muted);
1814
1830
  }
1815
1831
 
1816
- /* --- États vides et erreurs ----------------------------------------------- */
1832
+ /* --- Onglets de la barre du haut ------------------------------------------ */
1817
1833
 
1818
- .empty {
1819
- padding: 48px 24px;
1820
- text-align: center;
1834
+ .tabs {
1835
+ display: flex;
1836
+ align-self: stretch;
1837
+ gap: 4px;
1838
+ flex: none;
1839
+ }
1840
+
1841
+ .tab {
1842
+ display: inline-flex;
1843
+ align-items: center;
1844
+ gap: 8px;
1845
+ padding: 0 10px;
1846
+ border: 0;
1847
+ border-top: 3px solid transparent;
1848
+ border-bottom: 3px solid transparent;
1849
+ background: none;
1850
+ font: inherit;
1851
+ font-size: 14px;
1821
1852
  color: var(--muted);
1853
+ cursor: pointer;
1822
1854
  }
1823
1855
 
1824
- .empty-title {
1825
- display: block;
1856
+ .tab:hover {
1826
1857
  color: var(--text);
1858
+ }
1859
+
1860
+ .tab.is-active {
1861
+ color: var(--accent);
1827
1862
  font-weight: 600;
1828
- margin-bottom: 4px;
1863
+ border-bottom-color: var(--accent);
1829
1864
  }
1830
1865
 
1831
- .banner {
1832
- margin: 16px 20px;
1833
- padding: 12px 14px;
1866
+ .tab:focus-visible {
1867
+ outline: 2px solid var(--accent);
1868
+ outline-offset: -4px;
1869
+ }
1870
+
1871
+ /* --- Liaisons -------------------------------------------------------------- */
1872
+
1873
+ .links {
1874
+ display: grid;
1875
+ grid-template-columns: minmax(0, 1fr) 360px;
1876
+ height: calc(100vh - var(--topbar-h));
1877
+ }
1878
+
1879
+ .links.is-linking {
1880
+ cursor: crosshair;
1881
+ user-select: none;
1882
+ }
1883
+
1884
+ .links-map {
1885
+ display: flex;
1886
+ flex-direction: column;
1887
+ min-width: 0;
1888
+ min-height: 0;
1889
+ }
1890
+
1891
+ .links-toolbar {
1892
+ display: flex;
1893
+ align-items: flex-start;
1894
+ justify-content: space-between;
1895
+ gap: 16px;
1896
+ padding: 16px 20px 12px;
1897
+ }
1898
+
1899
+ .links-toolbar h2 {
1900
+ margin: 0;
1901
+ font-size: 17px;
1902
+ }
1903
+
1904
+ .links-toolbar p {
1905
+ margin: 2px 0 0;
1906
+ font-size: 12px;
1907
+ }
1908
+
1909
+ .links-window {
1910
+ display: flex;
1911
+ align-items: center;
1912
+ gap: 8px;
1913
+ flex: none;
1914
+ font-size: 13px;
1915
+ color: var(--muted);
1916
+ }
1917
+
1918
+ .links-window select {
1919
+ font: inherit;
1920
+ font-size: 13px;
1921
+ padding: 5px 8px;
1834
1922
  border-radius: var(--radius);
1835
- background: var(--danger-soft);
1836
- color: var(--danger);
1923
+ border: 1px solid var(--border);
1924
+ background: var(--panel);
1925
+ color: var(--text);
1926
+ }
1927
+
1928
+ .links-scroll {
1929
+ flex: 1;
1930
+ overflow: auto;
1931
+ padding: 0 20px 12px 0;
1932
+ }
1933
+
1934
+ .links-canvas {
1935
+ position: relative;
1936
+ }
1937
+
1938
+ .links-canvas > * {
1939
+ position: absolute;
1940
+ }
1941
+
1942
+ .links-canvas > .empty {
1943
+ position: static;
1944
+ }
1945
+
1946
+ .links-lane {
1947
+ z-index: 0;
1948
+ background: var(--panel);
1949
+ border: 1px solid var(--border);
1950
+ border-radius: 12px;
1951
+ }
1952
+
1953
+ .links-lane-head {
1954
+ display: flex;
1955
+ align-items: center;
1956
+ gap: 8px;
1957
+ height: 56px;
1958
+ padding: 0 12px;
1959
+ border-bottom: 1px solid var(--border-soft);
1960
+ }
1961
+
1962
+ .links-lane-text {
1963
+ min-width: 0;
1964
+ }
1965
+
1966
+ .links-lane-name {
1837
1967
  font-size: 13px;
1968
+ font-weight: 600;
1969
+ white-space: nowrap;
1970
+ overflow: hidden;
1971
+ text-overflow: ellipsis;
1838
1972
  }
1839
1973
 
1840
- /* --- Écrans étroits ------------------------------------------------------- */
1974
+ .links-lane-last {
1975
+ font-size: 11px;
1976
+ color: var(--muted);
1977
+ white-space: nowrap;
1978
+ }
1841
1979
 
1842
- @media (max-width: 1000px) {
1843
- .topbar-search {
1844
- max-width: 240px;
1845
- }
1980
+ .links-lane-last.is-fresh {
1981
+ color: var(--ok);
1982
+ }
1846
1983
 
1847
- .console,
1848
- .console.is-collapsed {
1849
- grid-template-columns: 57px var(--w-gutter) 300px var(--w-gutter) minmax(0, 1fr);
1984
+ .links-tick {
1985
+ z-index: 1;
1986
+ pointer-events: none;
1987
+ border-top: 1px solid var(--border-soft);
1988
+ }
1989
+
1990
+ .links-tick--now {
1991
+ border-top: 2px solid var(--ok);
1992
+ }
1993
+
1994
+ .links-separator {
1995
+ z-index: 1;
1996
+ border-top: 2px solid var(--border);
1997
+ }
1998
+
1999
+ .links-axis-label {
2000
+ z-index: 1;
2001
+ display: flex;
2002
+ flex-direction: column;
2003
+ font-size: 11px;
2004
+ line-height: 1.3;
2005
+ color: var(--muted);
2006
+ }
2007
+
2008
+ .links-axis-label strong {
2009
+ font-weight: 600;
2010
+ }
2011
+
2012
+ .links-axis-label .mono {
2013
+ font-size: 10px;
2014
+ }
2015
+
2016
+ .links-axis-label--now {
2017
+ color: var(--ok);
2018
+ }
2019
+
2020
+
2021
+ .links-axis-old {
2022
+ color: var(--text);
2023
+ }
2024
+
2025
+ .links-axis-old span {
2026
+ color: var(--muted);
2027
+ font-size: 10px;
2028
+ }
2029
+
2030
+ .links-wires {
2031
+ z-index: 2;
2032
+ top: 0;
2033
+ left: 0;
2034
+ pointer-events: none;
2035
+ overflow: visible;
2036
+ }
2037
+
2038
+ .links-wire {
2039
+ fill: none;
2040
+ stroke: var(--muted);
2041
+ stroke-width: 2;
2042
+ opacity: 0.7;
2043
+ }
2044
+
2045
+ .links-wire.is-active {
2046
+ stroke: var(--accent);
2047
+ stroke-width: 3;
2048
+ opacity: 1;
2049
+ }
2050
+
2051
+ .links-wire.is-drawing {
2052
+ stroke: var(--accent);
2053
+ stroke-width: 3;
2054
+ stroke-dasharray: 6 4;
2055
+ opacity: 1;
2056
+ }
2057
+
2058
+ .links-card {
2059
+ z-index: 3;
2060
+ display: flex;
2061
+ align-items: center;
2062
+ gap: 8px;
2063
+ padding: 0 10px 0 8px;
2064
+ border: 1px solid var(--border);
2065
+ border-radius: var(--radius);
2066
+ background: var(--panel);
2067
+ font: inherit;
2068
+ color: var(--text);
2069
+ text-align: left;
2070
+ cursor: pointer;
2071
+ }
2072
+
2073
+ .links-card:hover,
2074
+ .links-card.is-linked {
2075
+ border-color: var(--accent);
2076
+ }
2077
+
2078
+ .links-card:focus-visible,
2079
+ .links-old-row:focus-visible {
2080
+ outline: 2px solid var(--accent);
2081
+ outline-offset: 1px;
2082
+ }
2083
+
2084
+ .links-card.is-selected {
2085
+ background: var(--accent-soft);
2086
+ border: 2px solid var(--accent);
2087
+ }
2088
+
2089
+ .links-rank {
2090
+ display: inline-grid;
2091
+ place-items: center;
2092
+ width: 22px;
2093
+ height: 22px;
2094
+ border-radius: 50%;
2095
+ flex: none;
2096
+ font-size: 11px;
2097
+ font-weight: 700;
2098
+ color: var(--panel);
2099
+ background: var(--muted);
2100
+ }
2101
+
2102
+ .links-rank.is-top {
2103
+ background: var(--text);
2104
+ }
2105
+
2106
+ .links-card.is-selected .links-rank {
2107
+ background: var(--accent);
2108
+ color: #ffffff;
2109
+ }
2110
+
2111
+ .links-rank.is-old {
2112
+ background: none;
2113
+ color: var(--muted);
2114
+ }
2115
+
2116
+ .links-card-text {
2117
+ display: flex;
2118
+ flex-direction: column;
2119
+ flex: 1;
2120
+ min-width: 0;
2121
+ }
2122
+
2123
+ .links-card-name {
2124
+ font-size: 12px;
2125
+ font-weight: 600;
2126
+ white-space: nowrap;
2127
+ overflow: hidden;
2128
+ text-overflow: ellipsis;
2129
+ }
2130
+
2131
+ .links-card-name.is-absent,
2132
+ .links-old-name.is-absent {
2133
+ font-weight: 400;
2134
+ color: var(--muted);
2135
+ }
2136
+
2137
+ .links-card-meta {
2138
+ display: flex;
2139
+ justify-content: space-between;
2140
+ gap: 6px;
2141
+ font-size: 11px;
2142
+ white-space: nowrap;
2143
+ }
2144
+
2145
+ .links-card-meta .mono {
2146
+ font-size: 11px;
2147
+ }
2148
+
2149
+ .links-card-ago {
2150
+ color: var(--muted);
2151
+ font-weight: 600;
2152
+ }
2153
+
2154
+ .links-card-ago.is-fresh {
2155
+ color: var(--ok);
2156
+ }
2157
+
2158
+ .links-card-count {
2159
+ position: absolute;
2160
+ top: 4px;
2161
+ right: 12px;
2162
+ display: inline-flex;
2163
+ align-items: center;
2164
+ gap: 2px;
2165
+ font-size: 11px;
2166
+ color: var(--muted);
2167
+ }
2168
+
2169
+ .links-card-line {
2170
+ display: flex;
2171
+ align-items: center;
2172
+ gap: 4px;
2173
+ min-width: 0;
2174
+ }
2175
+
2176
+ .links-card:has(.links-card-count) .links-card-line {
2177
+ padding-right: 24px;
2178
+ }
2179
+
2180
+ .links-card-count .icon {
2181
+ width: 11px;
2182
+ height: 11px;
2183
+ }
2184
+
2185
+ /* Poignée à cheval sur le bord droit de la carte : c'est d'elle que part le fil. */
2186
+ .links-handle {
2187
+ position: absolute;
2188
+ right: -7px;
2189
+ top: calc(50% - 7px);
2190
+ width: 14px;
2191
+ height: 14px;
2192
+ border-radius: 50%;
2193
+ border: 2px solid var(--panel);
2194
+ background: var(--border);
2195
+ cursor: crosshair;
2196
+ touch-action: none;
2197
+ }
2198
+
2199
+ .links-card:hover .links-handle,
2200
+ .links-card.is-selected .links-handle {
2201
+ background: var(--accent);
2202
+ }
2203
+
2204
+ .links-old-row {
2205
+ z-index: 3;
2206
+ display: flex;
2207
+ align-items: center;
2208
+ gap: 6px;
2209
+ padding: 0 10px;
2210
+ border: 1px solid transparent;
2211
+ border-radius: 6px;
2212
+ background: var(--bg);
2213
+ font: inherit;
2214
+ font-size: 12px;
2215
+ color: var(--text);
2216
+ text-align: left;
2217
+ cursor: pointer;
2218
+ }
2219
+
2220
+ .links-old-row:hover,
2221
+ .links-old-row.is-linked {
2222
+ border-color: var(--accent);
2223
+ }
2224
+
2225
+ .links-old-row.is-selected {
2226
+ background: var(--accent-soft);
2227
+ border-color: var(--accent);
2228
+ }
2229
+
2230
+ .links-old-row .icon {
2231
+ width: 11px;
2232
+ height: 11px;
2233
+ color: var(--muted);
2234
+ }
2235
+
2236
+ .links-old-name {
2237
+ flex: 1;
2238
+ min-width: 0;
2239
+ white-space: nowrap;
2240
+ overflow: hidden;
2241
+ text-overflow: ellipsis;
2242
+ }
2243
+
2244
+ .links-old-date {
2245
+ font-size: 11px;
2246
+ color: var(--muted);
2247
+ flex: none;
2248
+ }
2249
+
2250
+ /* Poignée d'une boîte ancienne : discrète tant que la ligne n'est pas survolée ou choisie. */
2251
+ .links-old-row .links-handle {
2252
+ opacity: 0;
2253
+ }
2254
+
2255
+ .links-old-row:hover .links-handle,
2256
+ .links-old-row.is-selected .links-handle {
2257
+ opacity: 1;
2258
+ background: var(--accent);
2259
+ }
2260
+
2261
+ .links-card.is-renaming .links-handle,
2262
+ .links-old-row.is-renaming .links-handle {
2263
+ display: none;
2264
+ }
2265
+
2266
+ /* Crayon de renommage, montré au survol de la boîte. */
2267
+ .links-rename {
2268
+ display: none;
2269
+ place-items: center;
2270
+ flex: none;
2271
+ width: 16px;
2272
+ height: 16px;
2273
+ border-radius: 4px;
2274
+ cursor: pointer;
2275
+ }
2276
+
2277
+ .links-rename:hover {
2278
+ background: var(--accent-soft);
2279
+ }
2280
+
2281
+ .links-rename .icon {
2282
+ width: 12px;
2283
+ height: 12px;
2284
+ color: var(--accent);
2285
+ }
2286
+
2287
+ .links-card:hover .links-rename,
2288
+ .links-old-row:hover .links-rename {
2289
+ display: inline-grid;
2290
+ }
2291
+
2292
+ .links.is-linking .links-rename {
2293
+ display: none;
2294
+ }
2295
+
2296
+ .links-rename-input {
2297
+ z-index: 4;
2298
+ box-sizing: border-box;
2299
+ padding: 0 6px;
2300
+ border: 1.5px solid var(--accent);
2301
+ border-radius: 4px;
2302
+ background: var(--panel);
2303
+ font: inherit;
2304
+ font-size: 12px;
2305
+ font-weight: 600;
2306
+ color: var(--text);
2307
+ outline: none;
2308
+ }
2309
+
2310
+ .links-rename-input.is-invalid {
2311
+ border-color: var(--danger);
2312
+ }
2313
+
2314
+ .links-rename-hint {
2315
+ z-index: 4;
2316
+ padding: 3px 8px;
2317
+ border-radius: 6px;
2318
+ background: var(--text);
2319
+ color: var(--panel);
2320
+ font-size: 11px;
2321
+ white-space: nowrap;
2322
+ pointer-events: none;
2323
+ }
2324
+
2325
+ .links-rename-hint.is-error {
2326
+ background: var(--danger);
2327
+ }
2328
+
2329
+ /* Pendant un glissé : la boîte survolée est la cible, les autres s'estompent. */
2330
+ .links.is-linking .links-card:not(.is-drag-source, .is-drop-target),
2331
+ .links.is-linking .links-old-row:not(.is-drag-source, .is-drop-target) {
2332
+ opacity: 0.6;
2333
+ }
2334
+
2335
+ .links-card.is-drop-target,
2336
+ .links-old-row.is-drop-target {
2337
+ background: var(--accent-soft);
2338
+ border-color: var(--accent);
2339
+ box-shadow: 0 0 0 3px var(--accent-softer);
2340
+ }
2341
+
2342
+ .links-old-none {
2343
+ z-index: 3;
2344
+ font-size: 11px;
2345
+ font-style: italic;
2346
+ color: var(--muted);
2347
+ padding: 4px 10px;
2348
+ }
2349
+
2350
+ .links-old-more {
2351
+ z-index: 3;
2352
+ border: 0;
2353
+ background: none;
2354
+ font: inherit;
2355
+ font-size: 11px;
2356
+ color: var(--accent);
2357
+ text-align: left;
2358
+ padding: 2px 10px;
2359
+ cursor: pointer;
2360
+ }
2361
+
2362
+ .links-legend {
2363
+ display: flex;
2364
+ flex-wrap: wrap;
2365
+ gap: 8px 24px;
2366
+ padding: 10px 20px 14px;
2367
+ border-top: 1px solid var(--border-soft);
2368
+ font-size: 12px;
2369
+ color: var(--muted);
2370
+ }
2371
+
2372
+ .links-legend-item {
2373
+ display: inline-flex;
2374
+ align-items: center;
2375
+ gap: 8px;
2376
+ }
2377
+
2378
+ .links-legend .links-rank {
2379
+ width: 18px;
2380
+ height: 18px;
2381
+ font-size: 10px;
2382
+ background: var(--text);
2383
+ }
2384
+
2385
+ .links-legend-line {
2386
+ display: inline-block;
2387
+ width: 24px;
2388
+ border-top: 2px solid var(--muted);
2389
+ }
2390
+
2391
+ .links-legend-line.is-new {
2392
+ border-top: 3px solid var(--accent);
2393
+ }
2394
+
2395
+ .links-panel {
2396
+ overflow-y: auto;
2397
+ background: var(--panel);
2398
+ border-left: 1px solid var(--border);
2399
+ padding: 16px 20px;
2400
+ display: flex;
2401
+ flex-direction: column;
2402
+ gap: 16px;
2403
+ }
2404
+
2405
+ .links-panel-head {
2406
+ display: flex;
2407
+ align-items: center;
2408
+ justify-content: space-between;
2409
+ }
2410
+
2411
+ .links-panel-identity {
2412
+ display: flex;
2413
+ align-items: center;
2414
+ gap: 12px;
2415
+ }
2416
+
2417
+ .links-panel-agent {
2418
+ font-size: 17px;
2419
+ font-weight: 700;
2420
+ white-space: nowrap;
2421
+ overflow: hidden;
2422
+ text-overflow: ellipsis;
2423
+ }
2424
+
2425
+ .links-panel-identity .party-addr {
2426
+ font-size: 13px;
2427
+ flex-wrap: wrap;
2428
+ }
2429
+
2430
+ .links-panel-meta {
2431
+ margin: 10px 0 0;
2432
+ font-size: 12px;
2433
+ color: var(--muted);
2434
+ }
2435
+
2436
+ .links-panel-section {
2437
+ border-top: 1px solid var(--border-soft);
2438
+ padding-top: 14px;
2439
+ }
2440
+
2441
+ .links-panel-section h3 {
2442
+ margin: 0 0 10px;
2443
+ font-size: 14px;
2444
+ }
2445
+
2446
+ .links-panel-title {
2447
+ display: flex;
2448
+ align-items: baseline;
2449
+ justify-content: space-between;
2450
+ font-size: 11px;
2451
+ }
2452
+
2453
+ .links-panel-links,
2454
+ .links-candidates {
2455
+ list-style: none;
2456
+ margin: 0;
2457
+ padding: 0;
2458
+ }
2459
+
2460
+ .links-panel-none {
2461
+ font-size: 12px;
2462
+ color: var(--muted);
2463
+ }
2464
+
2465
+ .links-panel-link + .links-panel-link {
2466
+ border-top: 1px solid var(--border-soft);
2467
+ margin-top: 10px;
2468
+ padding-top: 10px;
2469
+ }
2470
+
2471
+ .links-panel-link-top {
2472
+ display: flex;
2473
+ align-items: center;
2474
+ gap: 8px;
2475
+ }
2476
+
2477
+ .links-unlink.btn--danger {
2478
+ padding: 4px 10px;
2479
+ font-size: 12px;
2480
+ }
2481
+
2482
+ .links-panel-note {
2483
+ margin: 6px 0 0 32px;
2484
+ font-size: 12px;
2485
+ font-style: italic;
2486
+ color: var(--muted);
2487
+ }
2488
+
2489
+ .links-panel-status {
2490
+ display: flex;
2491
+ flex-wrap: wrap;
2492
+ align-items: center;
2493
+ gap: 6px;
2494
+ margin: 6px 0 0 32px;
2495
+ font-size: 11px;
2496
+ }
2497
+
2498
+ .links-input,
2499
+ .links-search {
2500
+ width: 100%;
2501
+ height: 34px;
2502
+ border-radius: var(--radius);
2503
+ border: 1px solid var(--border);
2504
+ background: var(--panel);
2505
+ font: inherit;
2506
+ font-size: 13px;
2507
+ color: var(--text);
2508
+ }
2509
+
2510
+ .links-input {
2511
+ padding: 0 10px;
2512
+ margin-bottom: 8px;
2513
+ }
2514
+
2515
+ .links-search {
2516
+ display: flex;
2517
+ align-items: center;
2518
+ gap: 8px;
2519
+ padding: 0 10px;
2520
+ color: var(--muted);
2521
+ }
2522
+
2523
+ .links-search input {
2524
+ flex: 1;
2525
+ min-width: 0;
2526
+ border: 0;
2527
+ background: none;
2528
+ font: inherit;
2529
+ color: var(--text);
2530
+ outline: none;
2531
+ }
2532
+
2533
+ .links-input:focus,
2534
+ .links-search:focus-within {
2535
+ border-color: var(--accent);
2536
+ outline: none;
2537
+ }
2538
+
2539
+ .links-error {
2540
+ margin: 6px 0 0;
2541
+ font-size: 12px;
2542
+ color: var(--danger);
2543
+ }
2544
+
2545
+ .links-error:empty {
2546
+ display: none;
2547
+ }
2548
+
2549
+ .links-candidates {
2550
+ margin-top: 8px;
2551
+ }
2552
+
2553
+ .links-candidate {
2554
+ display: flex;
2555
+ align-items: center;
2556
+ gap: 8px;
2557
+ padding: 8px 6px;
2558
+ border-radius: var(--radius);
2559
+ }
2560
+
2561
+ .links-candidate:hover {
2562
+ background: var(--accent-soft);
2563
+ }
2564
+
2565
+ .links-candidate .agent-box.is-fresh {
2566
+ color: var(--ok);
2567
+ }
2568
+
2569
+ .links-link {
2570
+ padding: 4px 12px;
2571
+ flex: none;
2572
+ }
2573
+
2574
+ .links-candidate:hover .links-link {
2575
+ background: var(--accent);
2576
+ border-color: var(--accent);
2577
+ color: #ffffff;
2578
+ }
2579
+
2580
+ .links-candidates-sep {
2581
+ margin: 12px 6px 4px;
2582
+ font-size: 11px;
2583
+ font-weight: 600;
2584
+ letter-spacing: 0.06em;
2585
+ text-transform: uppercase;
2586
+ color: var(--muted);
2587
+ }
2588
+
2589
+ .links-delivery {
2590
+ display: flex;
2591
+ gap: 8px;
2592
+ margin: auto 0 0;
2593
+ padding: 12px;
2594
+ border-radius: var(--radius);
2595
+ background: var(--bg);
2596
+ font-size: 12px;
2597
+ color: var(--muted);
2598
+ }
2599
+
2600
+ /* --- États vides et erreurs ----------------------------------------------- */
2601
+
2602
+ .empty {
2603
+ padding: 48px 24px;
2604
+ text-align: center;
2605
+ color: var(--muted);
2606
+ }
2607
+
2608
+ .empty-title {
2609
+ display: block;
2610
+ color: var(--text);
2611
+ font-weight: 600;
2612
+ margin-bottom: 4px;
2613
+ }
2614
+
2615
+ .banner {
2616
+ margin: 16px 20px;
2617
+ padding: 12px 14px;
2618
+ border-radius: var(--radius);
2619
+ background: var(--danger-soft);
2620
+ color: var(--danger);
2621
+ font-size: 13px;
2622
+ }
2623
+
2624
+ /* --- Écrans étroits ------------------------------------------------------- */
2625
+
2626
+ @media (max-width: 1000px) {
2627
+ .topbar-search {
2628
+ max-width: 240px;
2629
+ }
2630
+
2631
+ .console,
2632
+ .console.is-collapsed {
2633
+ grid-template-columns: 57px var(--w-gutter) 300px var(--w-gutter) minmax(0, 1fr);
2634
+ }
2635
+
2636
+ .links {
2637
+ grid-template-columns: minmax(0, 1fr) 300px;
1850
2638
  }
1851
2639
  }