Files
2025-09-11 00:08:45 +02:00

325 lines
6.2 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:root {
--bg: #0b0d12;
--panel: #11141b;
--muted: #8a93a6;
--text: #e8ecf3;
--accent: #4f8cff;
--accent-2: #63e;
--card: #151a22;
--border: #1f2632;
}
* {
box-sizing: border-box
}
html, body {
height: 100%;
margin: 0;
background: var(--bg);
color: var(--text);
}
body {
overflow: hidden;
font: 14px/1.4 system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;
}
.cui-root {
height: 87dvh;
display: grid;
grid-template-columns: 320px 1fr;
gap: 0;
}
.cui-root.collapsed {
grid-template-columns: 56px 1fr;
}
.cui-side {
background: var(--panel);
border-right: 1px solid var(--border);
height: 100%;
overflow: hidden;
display: flex;
flex-direction: column;
}
.cui-side-head {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 12px 8px;
border-bottom: 1px solid var(--border);
}
.cui-side h2 {
margin: 0;
font-size: 16px;
font-weight: 700;
}
.cui-side .ghost {
width: 28px;
height: 28px;
border-radius: 10px;
}
.cui-root.collapsed #toggleSide {
transform: rotate(180deg)
}
.ghost {
background: transparent;
border: 1px solid var(--border);
color: var(--muted);
cursor: pointer
}
.ghost:hover {
border-color: #2a3343;
color: #b7c2da
}
.cui-cards {
padding: 5px;
overflow: hidden;
height: 100%;
}
/* --- Cartes --- */
.cui-card {
background: var(--card);
border: 1px solid var(--border);
border-radius: 14px;
padding: 8px;
display: grid;
grid-template-columns: 40px 1fr;
gap: 8px;
align-items: center;
margin-bottom: 8px;
cursor: pointer;
transition: transform .12s ease, border-color .12s ease, background .12s ease, box-shadow .12s ease;
position: relative; /* pour l'effet d'état */
}
.cui-card:hover {
transform: translateY(-1px);
border-color: #2a3343
}
/* ✅ Remplace loutline par un box-shadow interne : plus de “carré bleu” coupé */
.cui-card.active {
box-shadow: inset 0 0 0 2px var(--accent), 0 0 0 3px rgba(79,140,255,.15);
border-color: rgba(79,140,255,.45);
}
/* contenu carte */
.cui-thumb {
width: 40px;
height: 40px;
border-radius: 10px;
object-fit: cover;
background: #222
}
.cui-info {
min-width: 0;
}
/* ✅ permet lellipsis */
.cui-name {
font-size: 13px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #cfd6e6
}
.cui-meta {
font-size: 11px;
color: var(--muted)
}
.cui-main {
display: flex;
flex-direction: column;
min-width: 0;
height: 100%;
}
.cui-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 12px;
border-bottom: 1px solid var(--border);
background: linear-gradient(180deg, #0f131a, #0c1016);
gap: 12px;
}
.cui-title {
font-size: 15px;
font-weight: 600;
flex: 1 1 auto; /* ✅ prend lespace dispo */
min-width: 0; /* ✅ autorise lellipsis */
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.primary {
background: var(--accent);
color: white;
border: 0;
padding: 8px 12px;
border-radius: 10px;
font-weight: 700;
cursor: pointer;
box-shadow: 0 6px 16px rgba(79,140,255,.25);
}
.primary:disabled {
opacity: .5;
cursor: not-allowed;
box-shadow: none
}
.cui-view {
height: 100%;
overflow: auto;
-webkit-overflow-scrolling: touch;
}
.cui-iframe, .viewer-iframe {
width: 100%;
height: 100%;
border: 0;
display: block;
}
.cui-placeholder {
position: absolute;
inset: 0;
display: grid;
place-items: center;
color: var(--muted);
font-size: 15px;
}
.viewer {
position: fixed;
inset: 0;
background: #000;
display: flex;
flex-direction: column;
z-index: 9999
}
.viewer.hidden {
display: none
}
.viewer-top {
height: 48px;
display: flex;
align-items: center;
gap: 12px;
padding: 8px 10px;
background: rgba(5,8,12,.7);
backdrop-filter: blur(6px);
}
.viewer-title {
color: #dfe6f5;
font-weight: 600;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
min-width: 0;
}
.viewer-iframe {
flex: 1;
width: 100%;
border: 0
}
#toggleSide {
transition: transform .15s ease
}
.cui-root.collapsed .cui-side h2 {
display: none
}
.cui-root.collapsed .cui-card {
grid-template-columns: 40px;
padding: 6px
}
.cui-root.collapsed .cui-name, .cui-root.collapsed .cui-meta {
display: none
}
/* petites cartes = pas de scroll vertical à larrivée */
@media (min-width: 1200px) {
.cui-card {
grid-template-columns: 36px 1fr;
gap: 6px
}
.cui-thumb {
width: 36px;
height: 36px
}
}
/* tablette : sidebar plus étroite (toujours sans scroll body) */
@media (max-width: 900px) {
.cui-root {
grid-template-columns: 86px 1fr;
}
}
/* --- Correctifs ciblés --- */
/* Anneau interne pour la carte active (ne sera plus coupé) */
.cui-card.active {
/* on remplace l'outline externe par un halo interne */
box-shadow: 0 0 0 2px var(--accent) inset;
outline: none; /* par sûreté */
}
/* quand la sidebar est réduite, même anneau interne */
.cui-root.collapsed .cui-card.active {
box-shadow: 0 0 0 2px var(--accent) inset;
width: max-content;
grid-template-columns: 29px 1fr;
}
/* Titre de la barre du haut : ellipsis propre si le nom est long */
.cui-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
max-width: calc(100vw - 220px); /* laisse la place au bouton */
}
/* Liframe de prévisualisation occupe exactement lespace dispo */
.cui-iframe {
display: block; /* évite certains comportements inline-iframe */
width: 100%;
height: 100%;
}
/* Par sécurité, pas de scroll horizontal dans le PDF */
.cui-view {
overflow: hidden;
}
/* Dans la liste, garantir lellipsis sur les noms longs */
.cui-name {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}