
/* Shared Clarté, Sauge and Encre palettes. */
html[data-suite-palette="clarte"]{--suite-ink:#14243b;--suite-paper:#f4f7fb;--suite-surface:#ffffff;--suite-soft:#e8effc;--suite-muted:#52627a;--suite-accent:#245cdb;--suite-line:#d4ddea;}

html[data-suite-palette="sauge"]{--suite-ink:#18382d;--suite-paper:#f6f4ee;--suite-surface:#fffefa;--suite-soft:#e6eee4;--suite-muted:#52695c;--suite-accent:#3e6e58;--suite-line:#d4ddce;}

html[data-suite-palette="encre"]{--suite-ink:#f1f4fa;--suite-paper:#11151e;--suite-surface:#1c2330;--suite-soft:#242e3d;--suite-muted:#b0bed1;--suite-accent:#a5b4fc;--suite-line:#414f64;}

html[data-suite-palette]{--suite-on-accent:#fff;background:var(--suite-paper);color:var(--suite-ink)}html[data-suite-palette="encre"]{--suite-on-accent:#11151e}
html[data-suite-palette] body{--ink:var(--suite-ink);--text:var(--suite-ink);--paper:var(--suite-paper);--bg:var(--suite-paper);--panel:var(--suite-surface);--purple:var(--suite-accent);--teal:var(--suite-accent);--lavender:var(--suite-soft);--white:var(--suite-surface);--soft:var(--suite-soft);--muted:var(--suite-muted);--green:var(--suite-accent);--accent:var(--suite-accent);--line:var(--suite-line);--on-accent:var(--suite-on-accent);--hub-ink:var(--suite-ink);--hub-muted:var(--suite-muted);--hub-line:var(--suite-line);--hub-green:var(--suite-accent);--hub-surface:var(--suite-surface);background:var(--suite-paper);color:var(--suite-ink)}
html[data-suite-palette] .nc-suite{color-scheme:inherit;background:var(--suite-surface);color:var(--suite-ink);--nc-space-surface:var(--suite-surface);--nc-space-hover:var(--suite-soft);--nc-space-line:var(--suite-line);--nc-space-accent:var(--suite-accent)}html[data-suite-palette] .nc-suite-panel{background:var(--suite-surface);border-color:var(--suite-line)}html[data-suite-palette] .nc-suite a.nc-suite-link{color:var(--suite-ink)}html[data-suite-palette] .nc-suite a.nc-suite-link:hover,html[data-suite-palette] .nc-suite a.nc-suite-link[aria-current=page]{background:var(--suite-soft);border-color:var(--suite-line)}

/* Shared top bar. */
/* <x-suite::topbar>: same height, order and controls in every application, on the Hub's model. The breadcrumb on the
   left; on the right the notifications bell, Apparence, Abonnement and the account menu. Also copied into
   appearance.css, read in the head: the bar is drawn before the menu's styles arrive. */
html body .nc-topbar { position: relative; z-index: 30; display: flex; flex: none; align-items: center; justify-content: space-between; gap: 20px; box-sizing: border-box; width: auto; height: 74px; min-height: 0; max-height: none; margin: 0; padding: 0 36px; border: 0; border-bottom: 1px solid var(--suite-line, #e5e9e8); border-radius: 0; background: var(--suite-surface, #fff); color: var(--suite-ink, #222b32); font: 400 14px/1.45 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: normal; text-align: left; text-transform: none; box-shadow: none; }
html body .nc-topbar *, html body .nc-topbar *::before, html body .nc-topbar *::after { box-sizing: border-box; }
html body .nc-topbar svg { display: block; flex: none; }
html body .nc-topbar .nc-topbar-trail { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; padding: 0; color: var(--suite-muted, #68757d); font-size: 12px; line-height: 1.45; }
html body .nc-topbar .nc-topbar-trail > span:first-child { flex: none; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body .nc-topbar .nc-topbar-trail strong { min-width: 0; overflow: hidden; color: var(--suite-ink, #222b32); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
html body .nc-topbar .nc-topbar-actions { display: flex; flex: none; align-items: center; gap: 4px; margin: 0 0 0 auto; padding: 0; }
html body .nc-topbar a.nc-topbar-bell { position: relative; display: grid; place-items: center; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--suite-ink, #222b32); text-decoration: none; }
html body .nc-topbar a.nc-topbar-link { display: inline-flex; align-items: center; gap: 7px; height: 40px; margin: 0; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: var(--suite-ink, #222b32); font-size: 12px; font-weight: 500; line-height: 1; text-decoration: none; white-space: nowrap; }
html body .nc-topbar a.nc-topbar-balance { display: inline-flex; align-items: center; gap: 7px; height: 40px; margin: 0 4px 0 0; padding: 0 12px; border: 1px solid var(--suite-line, #e5e9e8); border-radius: 999px; background: transparent; color: var(--suite-ink, #222b32); font-size: 12px; font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; text-decoration: none; white-space: nowrap; }
html body .nc-topbar a.nc-topbar-balance[hidden] { display: none; }
html body .nc-topbar :is(a.nc-topbar-balance, a.nc-topbar-bell, a.nc-topbar-link):hover { background: var(--suite-soft, #f0f4f1); }
html body .nc-topbar .nc-topbar-count { position: absolute; top: 3px; right: 1px; min-width: 17px; height: 17px; margin: 0; padding: 0 4px; border-radius: 999px; background: #c2410c; color: #fff; font: 700 10px/17px system-ui, sans-serif; text-align: center; }
html body .nc-topbar .nc-topbar-count[hidden] { display: none; }
html body .nc-topbar .nc-topbar-account { position: relative; flex: none; margin: 0 0 0 10px; padding: 0; border: 0; background: transparent; }
html body .nc-topbar .nc-topbar-account > summary { display: flex; align-items: center; gap: 10px; min-height: 44px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--suite-ink, #222b32); font-size: 12px; font-weight: 400; line-height: 1.45; list-style: none; cursor: pointer; }
html body .nc-topbar .nc-topbar-account > summary::-webkit-details-marker { display: none; }
html body .nc-topbar .nc-topbar-account > summary::marker { content: ""; }
html body .nc-topbar .nc-topbar-avatar { display: grid; place-items: center; flex: none; width: 31px; height: 31px; margin: 0; border: 1px solid var(--suite-line, #dce6df); border-radius: 50%; background: var(--suite-soft, #eaf1eb); color: var(--suite-muted, #537463); font-size: 10px; font-weight: 600; line-height: 1; }
html body .nc-topbar .nc-topbar-name { max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html body .nc-topbar .nc-topbar-menu { position: absolute; top: 48px; right: 0; z-index: 50; width: 230px; max-width: calc(100vw - 32px); margin: 0; padding: 6px; border: 1px solid var(--suite-line, #e5e9e8); border-radius: 12px; background: var(--suite-surface, #fff); box-shadow: 0 12px 32px #293e3215; }
html body .nc-topbar .nc-topbar-menu :is(a, button) { display: block; width: 100%; height: auto; min-height: 0; margin: 0; padding: 11px 12px; border: 0; border-radius: 7px; background: transparent; color: var(--suite-ink, #222b32); font: inherit; font-size: 13px; font-weight: 400; line-height: 1.4; letter-spacing: normal; text-align: left; text-decoration: none; text-transform: none; box-shadow: none; cursor: pointer; }
html body .nc-topbar .nc-topbar-menu :is(a, button):hover { background: var(--suite-soft, #f0f4f1); }
html body .nc-topbar .nc-topbar-menu form { margin: 4px 0 0; padding: 4px 0 0; border: 0; border-top: 1px solid var(--suite-line, #e5e9e8); }
html body .nc-topbar :focus-visible { outline: 3px solid var(--suite-accent, #245b49); outline-offset: 2px; }
@media (min-width: 1500px) { html body .nc-topbar { padding-inline: 48px; } }
@media (max-width: 1150px) { html body .nc-topbar { padding-inline: 24px; } }
@media (max-width: 800px) {
 html body .nc-topbar { height: 60px; gap: 12px; padding-inline: 20px; }
 html body .nc-topbar .nc-topbar-trail { gap: 8px; font-size: 11px; }
 html body .nc-topbar .nc-topbar-trail > span:first-child { max-width: 130px; }
 html body .nc-topbar a.nc-topbar-link { justify-content: center; width: 40px; padding: 0; }
 html body .nc-topbar a.nc-topbar-balance { height: 34px; padding: 0 10px; }
 html body .nc-topbar a.nc-topbar-balance svg { display: none; }
 html body .nc-topbar .nc-topbar-account { margin-left: 4px; }
 /* Icons only on a phone: the labels and the name stay read. */
 html body .nc-topbar :is(.nc-topbar-label, .nc-topbar-name) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
}
@media (max-width: 380px) {
 html body .nc-topbar { gap: 8px; padding-inline: 14px; }
 html body .nc-topbar .nc-topbar-actions { gap: 0; }
 html body .nc-topbar .nc-topbar-trail > span { display: none; }
}

/* Tempo: its mobile bar is a floating pair of buttons, over the page; the back button of the installed application sits beside « Applications » without the bar showing between them. */
html[data-tempo-theme] .tempo-workspace .nc-suite-mobile-bar:has(> .nc-suite-back:not([hidden])){background:transparent}

/* Shared menu contract. App typography and theme adapters must not change its geometry. */
html[data-suite-palette] body .nc-suite { font: 14px/1.45 system-ui,sans-serif; letter-spacing: normal; text-transform: none; text-align: left; color: var(--suite-ink,#242a31); }
html[data-suite-palette] body .nc-suite .nc-suite-panel { padding:20px 12px; background:var(--suite-surface,#fcfdfc); color:var(--suite-ink,#242a31); border-color:var(--suite-line,#d8dfdb); }
html[data-suite-palette] body .nc-suite .nc-suite-title { margin:0 12px 14px; padding:0; font:700 11px/1.45 system-ui,sans-serif; letter-spacing:.08em; color:var(--suite-muted,#59635e); }
html[data-suite-palette] body .nc-suite nav { display:grid; gap:6px; margin:0; padding:0; flex:none; }
html[data-suite-palette] body .nc-suite a.nc-suite-link { min-height:48px; margin:0; padding:10px 12px; gap:12px; font:600 14px/1.4 system-ui,sans-serif; letter-spacing:normal; color:var(--suite-ink,#242a31); }
html[data-suite-palette] body .nc-suite a.nc-suite-link:is(:hover,[aria-current=page]) { background:var(--suite-soft,#eef2ef); border-color:var(--suite-line,#d8dfdb); }
html[data-suite-palette] body .nc-suite .nc-suite-link > img:not(.nc-suite-watermark) { width:26px; height:26px; margin:0; padding:0; background:transparent; border:0; border-radius:0; }
html[data-suite-palette] body .nc-suite .nc-suite-badge { display:block; min-width:24px; margin:0 0 0 auto; padding:2px 5px; font:700 11px/1.4 system-ui,sans-serif; background:var(--suite-soft,#e4ebe7); color:var(--suite-ink,#263b32); }
html[data-suite-palette] body .nc-suite .nc-suite-badge[data-state=unavailable] { background:transparent; color:var(--suite-muted,#69756e); }
html[data-suite-palette] body .nc-suite .nc-suite-footer { margin:16px 0 0; padding:12px 0 0; border-top:1px solid var(--suite-line,#d8dfdb); flex:none; }
html[data-suite-palette] body .nc-suite .nc-suite-brands { margin:auto 0 0; padding:24px 10px 0; flex:none; }
html[data-suite-palette] body .nc-suite .nc-suite-brands-title { margin:0 2px 4px; padding:0; font:600 10px/1.4 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; color:var(--suite-muted,#59635e); opacity:1; }
html[data-suite-palette] body .nc-suite a.nc-suite-brand { display:grid; gap:1px; margin:0; padding:7px 2px; border:0; background:transparent; color:inherit; font:12px/1.35 system-ui,sans-serif; letter-spacing:normal; }
html[data-suite-palette] body .nc-suite .nc-suite-brand-name { margin:0; padding:0; font:600 12px/1.35 system-ui,sans-serif; }
html[data-suite-palette] body .nc-suite .nc-suite-brand-text { margin:0; padding:0 0 0 14px; font:400 12px/1.35 system-ui,sans-serif; color:var(--suite-muted,#59635e); opacity:1; }
html[data-suite-palette] body .nc-suite .nc-space { margin:16px 0 0; flex:none; }
html[data-suite-palette] body .nc-suite .nc-space-current { box-shadow:none; text-transform:none; letter-spacing:normal; color:var(--suite-ink); }
html[data-suite-palette] body .nc-suite .nc-space-text { text-align:left; }
html[data-suite-palette] body .nc-suite .nc-space-hint { color:var(--suite-muted,#59635e); opacity:1; }
@media(min-width:1200px) { html[data-suite-palette] body .nc-suite .nc-suite-desktop { display:flex; flex-direction:column; width:216px; } }

html[data-suite-palette] body .nc-suite .nc-space button.nc-space-current { background:var(--suite-surface); border-color:var(--suite-line); }
html[data-suite-palette] body .nc-suite .nc-space button.nc-space-current:is(:hover,[aria-expanded=true]) { background:var(--suite-soft); }
html[data-suite-palette] body .nc-suite .nc-suite-desktop { max-height:none; overflow-y:auto; }
html[data-suite-palette] body .nc-suite .nc-suite-dialog > .nc-suite-panel { margin:0; overflow:visible; padding:max(20px,env(safe-area-inset-top)) 12px max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
html[data-suite-palette] body .nc-suite dialog.nc-suite-dialog { background:var(--suite-surface); color:var(--suite-ink); }
html[data-suite-palette] body .nc-suite dialog.nc-suite-dialog::backdrop { background:rgb(17 21 30 / .72); }
