128 lines
6.0 KiB
CSS
128 lines
6.0 KiB
CSS
/* Barre d'apps commune dracodev — v0.1.0 (bloc 0, ACC-0.2)
|
|
Jetons repris du prototype validé Console v7.2.
|
|
Thème : clair par défaut, sombre via [data-theme="dark"] sur <html>
|
|
ou prefers-color-scheme si l'app intégratrice ne force rien. */
|
|
|
|
.draco-bar {
|
|
--bg: #f2f2f0; --surface: #ffffff; --surface-2: #e9eae6; --surface-3: #f6f6f3;
|
|
--ink: #1b1d1a; --ink-2: #5c615a; --ink-3: #787d75; --line: #dedfd9;
|
|
--agent: #c2437e; --danger: #cf4444;
|
|
height: 60px; box-sizing: border-box;
|
|
display: grid; grid-template-columns: auto minmax(200px, 520px) auto;
|
|
align-items: center; gap: 16px; padding: 0 12px;
|
|
background: var(--surface); border-bottom: 1px solid var(--line);
|
|
font: 500 14px/1.3 system-ui, "Segoe UI", sans-serif; color: var(--ink);
|
|
}
|
|
@media (prefers-color-scheme: dark) {
|
|
.draco-bar { --bg:#101211; --surface:#1a1c1a; --surface-2:#242624; --surface-3:#20221f;
|
|
--ink:#eceee9; --ink-2:#a6aba2; --ink-3:#8b9089; --line:#2e302c; }
|
|
}
|
|
[data-theme="dark"] .draco-bar { --bg:#101211; --surface:#1a1c1a; --surface-2:#242624; --surface-3:#20221f;
|
|
--ink:#eceee9; --ink-2:#a6aba2; --ink-3:#8b9089; --line:#2e302c; }
|
|
|
|
.draco-bar-zone { display: flex; align-items: center; gap: 8px; min-width: 0; }
|
|
.draco-bar-centre { justify-content: center; }
|
|
.draco-bar-droite { justify-content: flex-end; }
|
|
|
|
/* Marque */
|
|
.draco-brand { display: flex; align-items: center; gap: 7px; color: var(--ink); text-decoration: none; font-weight: 800; }
|
|
.draco-brand-mark { color: var(--agent); }
|
|
|
|
/* Onglets d'apps — accordéon : seule l'app courante est déployée */
|
|
.draco-apptabs { display: flex; gap: 6px; }
|
|
.draco-apptab {
|
|
position: relative; display: flex; align-items: center; gap: 8px;
|
|
height: 44px; padding: 0 9px; border-radius: 12px;
|
|
color: var(--ink); text-decoration: none; background: transparent;
|
|
transition: background .18s ease;
|
|
}
|
|
.draco-apptab:hover { background: var(--surface-2); }
|
|
.draco-apptab-ico {
|
|
width: 30px; height: 30px; flex: none; display: grid; place-items: center;
|
|
border-radius: 9px; background: var(--app); color: #fff; font-size: 15px;
|
|
}
|
|
.draco-apptab-txt { display: none; flex-direction: column; line-height: 1.15; }
|
|
.draco-apptab-txt strong { font-size: 14px; font-weight: 700; }
|
|
.draco-apptab-txt small { font-size: 11.5px; color: var(--ink-2); }
|
|
.draco-apptab[data-active="true"] { background: var(--surface-3); box-shadow: inset 0 -2px 0 var(--app, var(--agent)); }
|
|
.draco-apptab[data-active="true"] .draco-apptab-txt { display: flex; }
|
|
|
|
/* Pastilles compteurs — petites, rouges, coin bas-droit (standard v7.1) */
|
|
.draco-badge {
|
|
position: absolute; right: -4px; bottom: -4px; min-width: 17px; height: 17px;
|
|
padding: 0 4px; border-radius: 9px; box-sizing: border-box;
|
|
background: #e5484d; color: #fff; font-size: 10.5px; font-weight: 700;
|
|
display: grid; place-items: center; border: 2px solid var(--surface);
|
|
}
|
|
.draco-badge[hidden] { display: none; }
|
|
|
|
/* Recherche */
|
|
.draco-search {
|
|
display: flex; align-items: center; gap: 8px; width: 100%; height: 38px;
|
|
padding: 0 12px; border-radius: 10px; border: 1px solid var(--line);
|
|
background: var(--surface-3); color: var(--ink-3); cursor: pointer; font: inherit;
|
|
}
|
|
.draco-search kbd {
|
|
margin-left: auto; font: 600 11px system-ui; color: var(--ink-2);
|
|
border: 1px solid var(--line); border-radius: 5px; padding: 1px 5px;
|
|
}
|
|
|
|
/* Domaines — contrôle segmenté */
|
|
.draco-domaines { display: flex; align-items: center; gap: 2px; background: var(--surface-3); border-radius: 10px; padding: 3px; }
|
|
.draco-domaines-lbl { font-size: 10.5px; letter-spacing: .06em; color: var(--ink-3); padding: 0 6px; text-transform: uppercase; }
|
|
.draco-domaines button {
|
|
border: 0; background: transparent; color: var(--ink-2); font: inherit; font-size: 13px;
|
|
height: 30px; padding: 0 10px; border-radius: 8px; cursor: pointer;
|
|
}
|
|
.draco-domaines button[data-on="true"] { background: var(--surface); color: var(--ink); font-weight: 700; box-shadow: 0 1px 3px rgb(0 0 0 / .18); }
|
|
|
|
/* Alertes — la cloche ne disparaît JAMAIS (correctif v7.2) */
|
|
.draco-alertes {
|
|
position: relative; display: flex; align-items: center; gap: 7px; height: 38px;
|
|
padding: 0 11px; border-radius: 10px; border: 1px solid var(--line);
|
|
background: transparent; color: var(--ink); font: inherit; cursor: pointer;
|
|
}
|
|
|
|
/* Spark */
|
|
.draco-spark {
|
|
position: relative; display: flex; align-items: center; gap: 7px; height: 38px;
|
|
padding: 0 14px; border: 0; border-radius: 10px; cursor: pointer;
|
|
background: var(--agent); color: #fff; font: inherit; font-weight: 700;
|
|
}
|
|
.draco-spark .draco-badge { border-color: var(--agent); }
|
|
|
|
.draco-icon-btn {
|
|
width: 38px; height: 38px; border-radius: 10px; border: 1px solid transparent;
|
|
background: transparent; color: var(--ink-2); font: inherit; cursor: pointer;
|
|
}
|
|
.draco-icon-btn:hover { background: var(--surface-2); }
|
|
.draco-avatar {
|
|
width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
|
|
background: #2f6fed; color: #fff; font-weight: 700;
|
|
}
|
|
|
|
/* Rappel de l'en-tête masqué — onglet ancré au bord supérieur (v6) */
|
|
.draco-bar-rappel {
|
|
position: fixed; top: 0; left: 16px; z-index: 60; cursor: pointer;
|
|
background: var(--surface, #1a1c1a); border: 1px solid var(--line, #2e302c); border-top: 0;
|
|
border-radius: 0 0 10px 10px; padding: 5px 12px; font: 600 12px system-ui; color: var(--ink-2, #a6aba2);
|
|
}
|
|
|
|
/* Paliers — les zones latérales cèdent, la barre ne casse jamais */
|
|
@media (max-width: 1440px) {
|
|
.draco-brand-name, .draco-domaines-lbl { display: none; }
|
|
.draco-bar { grid-template-columns: auto minmax(200px, 440px) auto; }
|
|
}
|
|
@media (max-width: 1200px) {
|
|
.draco-search-txt, .draco-search kbd, .draco-alertes-txt, .draco-spark-txt { display: none; }
|
|
.draco-search { width: 38px; padding: 0; justify-content: center; }
|
|
.draco-bar { grid-template-columns: auto auto 1fr; }
|
|
.draco-bar-droite { justify-content: flex-end; }
|
|
}
|
|
@media (max-width: 700px) {
|
|
/* Mobile : la barre du haut se condense ; la navigation d'apps passe
|
|
en barre basse propre à chaque app (patron du prototype v5+). */
|
|
.draco-apptabs, .draco-domaines-lbl { display: none; }
|
|
.draco-bar { height: 52px; }
|
|
}
|