/* /Components/Admin/AdminLayout.razor.rz.scp.css */
/* ============================================================================
   Atypical Console - espace d'administration.
   Direction : surface papier chaud + le spectre 5 couleurs de la marque promu en
   instrument (epine spectrale, reperes de section, statuts codes couleur), et tous
   les CHIFFRES en Monocode : un tableau de bord de metriques se lit comme un
   instrument. Les variables sont posees sur .admin-shell et heritent a tout le
   contenu ; les composants partages (eyebrow, badge, ledger, btn) sont en ::deep.
   ============================================================================ */

.admin-shell[b-8orzoctews] {
    /* Surfaces papier */
    --paper: #efe7d8;
    --card: #fffdf8;
    --card-2: #f7f1e6;
    --inset: #f4eee2;
    --line: #e7dcc7;
    --line-soft: #efe6d5;

    /* Encre */
    --ink: #22252b;
    --ink-2: #6c6659;
    --ink-3: #9a9284;

    /* Spectre Atypical (bandeau de l'email de contact) */
    --coral: #fd9b83;
    --amber: #f1c362;
    --green: #38d084;
    --blue: #549dfa;
    --violet: #837dfb;

    /* Teintes lisibles sur papier (texte de badge / liens) */
    --coral-ink: #b8482a;
    --blue-ink: #2b5fae;
    --green-ink: #137a4c;
    --amber-ink: #916312;
    --slate-ink: #6b6558;
    --ink-inv: #fffdf8;

    /* Typographie de marque (chargee globalement par main.css) */
    --ui: 'Ubuntu', system-ui, sans-serif;
    --data: 'Monocode', 'SFMono-Regular', Menlo, monospace;

    --r: 14px;

    display: flex;
    min-height: 100vh;
    background: var(--paper);
    background-image: radial-gradient(var(--line) 0.6px, transparent 0.6px);
    background-size: 22px 22px;
    color: var(--ink);
    font-family: var(--ui);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

/* --- Signature : l'epine spectrale ---------------------------------------- */
.admin-spine[b-8orzoctews] {
    flex: 0 0 12px;
    width: 12px;
    position: sticky;
    top: 0;
    height: 100vh;
    background: linear-gradient(180deg,
        var(--coral), var(--amber) 28%, var(--green) 52%, var(--blue) 74%, var(--violet));
}

.admin-col[b-8orzoctews] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

/* --- Barre superieure ------------------------------------------------------ */
.admin-topbar[b-8orzoctews] {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 0.85rem 1.6rem;
    background: color-mix(in srgb, var(--card) 90%, transparent);
    backdrop-filter: blur(9px);
    border-bottom: 1px solid var(--line);
    flex-wrap: wrap;
}

.admin-brand[b-8orzoctews] {
    display: flex;
    flex-direction: column;
    line-height: 1;
    text-decoration: none;
}

.admin-brand .brand-name[b-8orzoctews] {
    font-weight: 800;
    letter-spacing: -0.01em;
    color: var(--ink);
    font-size: 1.02rem;
}

.admin-brand .brand-area[b-8orzoctews] {
    font-family: var(--data);
    font-size: 0.6rem;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin-top: 5px;
}

.admin-nav[b-8orzoctews] {
    display: flex;
    gap: 0.25rem;
}

/* ::deep : NavLink est un composant enfant, son <a> ne porte pas le scope du layout. */
.admin-nav[b-8orzoctews]  .nav-link {
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--ink-2);
    text-decoration: none;
    padding: 0.4rem 0.85rem;
    border-radius: 999px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.admin-nav[b-8orzoctews]  .nav-link:hover,
.admin-nav[b-8orzoctews]  .nav-link:focus-visible {
    color: var(--ink);
}

.admin-nav[b-8orzoctews]  .nav-link.is-active {
    background: var(--inset);
    color: var(--ink);
}

/* Compteur « a relancer » colle a l'entree Pipeline */
.due-badge[b-8orzoctews] {
    display: inline-block;
    margin-left: 0.35rem;
    min-width: 1.2rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--coral-ink);
    color: var(--ink-inv);
    font-family: var(--data);
    font-size: 0.7rem;
    line-height: 1.25rem;
    text-align: center;
    font-weight: 700;
    vertical-align: middle;
}

.admin-user[b-8orzoctews] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 1rem;
}

.admin-login[b-8orzoctews] {
    font-family: var(--data);
    font-size: 0.78rem;
    color: var(--ink-2);
}

.admin-login[b-8orzoctews]::before {
    content: "@";
    color: var(--ink-3);
}

.admin-logout[b-8orzoctews] {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--violet);
    text-decoration: none;
}

.admin-logout:hover[b-8orzoctews],
.admin-logout:focus-visible[b-8orzoctews] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.admin-main[b-8orzoctews] {
    padding: 1.6rem 1.85rem 4rem;
    max-width: 1160px;
    width: 100%;
    margin: 0 auto;
}

/* --- Plancher qualite : focus clavier + mouvement reduit ------------------- */
.admin-shell[b-8orzoctews]  :focus-visible {
    outline: 2px solid var(--violet);
    outline-offset: 2px;
    border-radius: 6px;
}

@media (prefers-reduced-motion: reduce) {
    .admin-shell[b-8orzoctews]  *,
    .admin-shell *[b-8orzoctews] {
        transition: none !important;
        animation: none !important;
        scroll-behavior: auto !important;
    }
}

/* ============================================================================
   Composants partages (::deep = appliques au contenu des pages)
   ============================================================================ */

/* Titre de page */
.admin-main[b-8orzoctews]  h1 {
    font-family: var(--ui);
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--ink);
    margin: 0.2rem 0 0.2rem;
}

.admin-main[b-8orzoctews]  .page-sub {
    font-family: var(--data);
    font-size: 0.85rem;
    color: var(--ink-3);
    margin: 0 0 1.4rem;
}

/* Repere de section (eyebrow) : mono, capitales, tick spectral.
   font-size en !important : le site public force `h2 { font-size: 50px !important }`
   dans main.css, et nos eyebrows sont des <h2> (titres de section, semantique). */
.admin-main[b-8orzoctews]  .eyebrow {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin: 1.7rem 0 0.85rem;
    font-family: var(--data);
    font-size: 0.68rem !important;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--ink-2);
    font-weight: 400;
}

.admin-main[b-8orzoctews]  .eyebrow::before {
    content: "";
    width: 22px;
    height: 3px;
    border-radius: 2px;
    background: var(--tick, var(--violet));
    flex: none;
}

.admin-main[b-8orzoctews]  .eyebrow small {
    color: var(--ink-3);
    letter-spacing: 0.1em;
    margin-left: auto;
    text-transform: none;
    font-size: 0.72rem;
}

.admin-main[b-8orzoctews]  .eyebrow .see-all {
    margin-left: auto;
    color: var(--violet);
    text-decoration: none;
    letter-spacing: 0.06em;
    text-transform: none;
}

.admin-main[b-8orzoctews]  .eyebrow .see-all:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Surface carte */
.admin-main[b-8orzoctews]  .card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--r);
}

/* Etat vide */
.admin-main[b-8orzoctews]  .empty {
    font-family: var(--data);
    font-size: 0.85rem;
    color: var(--ink-3);
    padding: 1rem 0;
}

/* Chiffre en lecture instrument */
.admin-main[b-8orzoctews]  .num {
    font-family: var(--data);
    font-variant-numeric: tabular-nums;
    color: var(--ink);
}

/* --- Badge de statut (pastille + teinte, capitales) ------------------------ */
.admin-main[b-8orzoctews]  .badge {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    font-family: var(--data);
    font-size: 0.66rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.24rem 0.62rem 0.24rem 0.5rem;
    border-radius: 999px;
    white-space: nowrap;
}

.admin-main[b-8orzoctews]  .badge::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.9;
}

.admin-main[b-8orzoctews]  .badge.b-new { background: #ffe6dc; color: var(--coral-ink); }
.admin-main[b-8orzoctews]  .badge.b-read { background: #e3edfd; color: var(--blue-ink); }
.admin-main[b-8orzoctews]  .badge.b-handled { background: #d9f4e6; color: var(--green-ink); }
.admin-main[b-8orzoctews]  .badge.b-archived { background: #ece7db; color: var(--slate-ink); }

/* Etapes du pipeline (spectre de la marque) */
.admin-main[b-8orzoctews]  .badge.b-contacted { background: #e3edfd; color: var(--blue-ink); }
.admin-main[b-8orzoctews]  .badge.b-qualified { background: #eae8fe; color: #4b45c7; }
.admin-main[b-8orzoctews]  .badge.b-proposal { background: #fbeecb; color: var(--amber-ink); }
.admin-main[b-8orzoctews]  .badge.b-won { background: #d9f4e6; color: var(--green-ink); }
.admin-main[b-8orzoctews]  .badge.b-lost { background: #ece7db; color: var(--slate-ink); }

/* --- Ledger : les tables de la console ------------------------------------ */
/* Enveloppe scrollable : sur mobile la table defile dans sa boite, jamais la page. */
.admin-main[b-8orzoctews]  .table-wrap {
    overflow-x: auto;
    border-radius: var(--r);
    scrollbar-width: thin;
}

.admin-main[b-8orzoctews]  .ledger {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--r);
    overflow: hidden;
    font-size: 0.9rem;
}

.admin-main[b-8orzoctews]  .ledger thead th {
    text-align: left;
    font-family: var(--data);
    font-size: 0.64rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-3);
    font-weight: 400;
    padding: 0.85rem 1rem 0.7rem;
}

.admin-main[b-8orzoctews]  .ledger tbody td {
    padding: 0.72rem 1rem;
    border-top: 1px solid var(--line-soft);
    vertical-align: middle;
}

.admin-main[b-8orzoctews]  .ledger tbody tr.is-clickable { cursor: pointer; }
.admin-main[b-8orzoctews]  .ledger tbody tr.is-clickable:hover td { background: var(--card-2); }

/* Cellules typees */
.admin-main[b-8orzoctews]  .cell-when {
    font-family: var(--data);
    font-variant-numeric: tabular-nums;
    color: var(--ink-3);
    white-space: nowrap;
}
.admin-main[b-8orzoctews]  .cell-when .rel { display: none; }
.admin-main[b-8orzoctews]  .ln { font-family: var(--data); color: var(--ink-3); font-size: 0.8rem; }
.admin-main[b-8orzoctews]  .who-name { font-weight: 600; color: var(--ink); text-decoration: none; }
.admin-main[b-8orzoctews]  .who-name:hover { text-decoration: underline; text-underline-offset: 3px; }
.admin-main[b-8orzoctews]  .who-co { display: block; color: var(--ink-3); font-size: 0.8rem; margin-top: 1px; }
.admin-main[b-8orzoctews]  .cell-email { font-family: var(--data); font-size: 0.82rem; color: var(--blue-ink); text-decoration: none; }
.admin-main[b-8orzoctews]  a.cell-email:hover { text-decoration: underline; text-underline-offset: 3px; }
.admin-main[b-8orzoctews]  .cell-source { font-family: var(--data); font-size: 0.8rem; color: var(--ink-2); }

/* --- Boutons --------------------------------------------------------------- */
.admin-main[b-8orzoctews]  .btn {
    font-family: var(--ui);
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 0.55rem 1.15rem;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    transition: border-color 0.12s ease, background-color 0.12s ease, opacity 0.12s ease;
}

.admin-main[b-8orzoctews]  .btn:hover { border-color: var(--ink-3); }
.admin-main[b-8orzoctews]  .btn:disabled { opacity: 0.4; cursor: not-allowed; }

.admin-main[b-8orzoctews]  .btn--primary {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--ink-inv);
}
.admin-main[b-8orzoctews]  .btn--primary:hover { background: #34383f; border-color: #34383f; }

.admin-main[b-8orzoctews]  .btn--danger {
    background: transparent;
    color: var(--coral-ink);
    border-color: #e7b7a6;
}
.admin-main[b-8orzoctews]  .btn--danger:hover { border-color: var(--coral-ink); background: #fbeae3; }

/* --- Responsive ------------------------------------------------------------ */
@media (max-width: 640px) {
    .admin-main[b-8orzoctews] { padding: 1.2rem 1rem 3rem; }
    .admin-topbar[b-8orzoctews] { gap: 0.75rem 1rem; }
}
/* /Components/Admin/Page_AdminDashboard.razor.rz.scp.css */
/* --- KPI : lectures instrument ------------------------------------------- */
.kpi-grid[b-c3xa6a36je] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.9rem;
}

.kpi[b-c3xa6a36je] {
    position: relative;
    padding: 1.1rem 1.15rem 1rem;
    overflow: hidden;
}

.kpi[b-c3xa6a36je]::after {
    content: "";
    position: absolute;
    top: 1.15rem;
    right: 1.15rem;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--dot, var(--violet));
}

.kpi--total[b-c3xa6a36je] { --dot: var(--violet); }
.kpi--new[b-c3xa6a36je] { --dot: var(--coral); }
.kpi--month[b-c3xa6a36je] { --dot: var(--blue); }
.kpi--week[b-c3xa6a36je] { --dot: var(--green); }

.kpi-value[b-c3xa6a36je] {
    display: block;
    font-size: 2.3rem;
    line-height: 1;
    letter-spacing: -0.02em;
}

.kpi-label[b-c3xa6a36je] {
    display: block;
    margin-top: 0.55rem;
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-3);
    font-weight: 700;
}

/* --- Graphe --------------------------------------------------------------- */
.chart[b-c3xa6a36je] {
    padding: 1.25rem 1.35rem;
}

.bars[b-c3xa6a36je] {
    display: flex;
    align-items: flex-end;
    gap: 0.9rem;
    height: 150px;
    padding-top: 0.4rem;
}

.bar-col[b-c3xa6a36je] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    gap: 0.4rem;
}

.bar[b-c3xa6a36je] {
    width: 66%;
    min-height: 3px;
    border-radius: 5px 5px 0 0;
    background: linear-gradient(180deg, var(--blue), #7cb6fb);
}

.bar--peak[b-c3xa6a36je] {
    background: linear-gradient(180deg, var(--violet), #a29dfc);
}

.bar-count[b-c3xa6a36je] {
    font-size: 0.8rem;
    color: var(--ink);
}

.bar-label[b-c3xa6a36je] {
    font-family: var(--data);
    font-size: 0.68rem;
    color: var(--ink-3);
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

/* --- Deux colonnes -------------------------------------------------------- */
.two[b-c3xa6a36je] {
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: 1.1rem;
    align-items: start;
}

/* --- Tables douces (performance / sources) -------------------------------- */
.soft-table[b-c3xa6a36je] {
    padding: 0.35rem 0 0.15rem;
}

.grid[b-c3xa6a36je] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}

.grid thead th[b-c3xa6a36je] {
    text-align: left;
    font-family: var(--data);
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--ink-3);
    font-weight: 400;
    padding: 0.55rem 1.1rem 0.6rem;
}

.grid tbody td[b-c3xa6a36je] {
    padding: 0.62rem 1.1rem;
    border-top: 1px solid var(--line-soft);
    vertical-align: middle;
}

.grid .r[b-c3xa6a36je] {
    text-align: right;
}

.perf-title[b-c3xa6a36je] {
    max-width: 22rem;
}

.perf-name[b-c3xa6a36je] {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.perf-langs[b-c3xa6a36je] {
    display: inline-block;
    margin-top: 2px;
    font-family: var(--data);
    font-size: 0.66rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.empty.pad[b-c3xa6a36je] {
    padding: 1rem 1.1rem;
}

/* --- Indicateur de conversion --------------------------------------------- */
.rate[b-c3xa6a36je] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    justify-content: flex-end;
}

.rate .meter[b-c3xa6a36je] {
    width: 54px;
    height: 5px;
    border-radius: 3px;
    background: var(--inset);
    overflow: hidden;
}

.rate .meter i[b-c3xa6a36je] {
    display: block;
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--green), #7ee0af);
}

.rate .pct[b-c3xa6a36je] {
    min-width: 3.6ch;
    text-align: right;
    font-size: 0.85rem;
}

.rate--zero[b-c3xa6a36je] {
    color: var(--ink-3);
}

/* --- Responsive ----------------------------------------------------------- */
@media (max-width: 820px) {
    .kpi-grid[b-c3xa6a36je] { grid-template-columns: repeat(2, 1fr); }
    .two[b-c3xa6a36je] { grid-template-columns: 1fr; }
}
/* /Components/Admin/Page_AdminDenied.razor.rz.scp.css */
.denied[b-9g55nshmsc] {
    max-width: 460px;
    margin: 4rem auto 0;
    text-align: center;
}

.denied-code[b-9g55nshmsc] {
    font-family: var(--data);
    font-size: 4.5rem;
    line-height: 1;
    margin: 0 0 0.5rem;
    color: var(--coral-ink);
    letter-spacing: 0.04em;
}

.denied-text[b-9g55nshmsc] {
    margin: 0.75rem 0 1.75rem;
    color: var(--ink-2);
    line-height: 1.6;
}

.denied-actions[b-9g55nshmsc] {
    display: flex;
    gap: 0.6rem;
    justify-content: center;
    flex-wrap: wrap;
}

.d-btn[b-9g55nshmsc] {
    font-family: var(--ui);
    font-weight: 700;
    font-size: 0.85rem;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 0.55rem 1.15rem;
    text-decoration: none;
    transition: border-color 0.12s ease, background-color 0.12s ease;
}

.d-btn:hover[b-9g55nshmsc] {
    border-color: var(--ink-3);
}

.d-btn--primary[b-9g55nshmsc] {
    background: var(--ink);
    border-color: var(--ink);
    color: var(--ink-inv);
}

.d-btn--primary:hover[b-9g55nshmsc] {
    background: #34383f;
    border-color: #34383f;
}
/* /Components/Admin/Page_AdminLeadDetail.razor.rz.scp.css */
.back-link[b-rxsic8fk37] {
    display: inline-block;
    font-family: var(--data);
    font-size: 0.78rem;
    color: var(--violet);
    text-decoration: none;
    margin-bottom: 1.1rem;
}

.back-link:hover[b-rxsic8fk37] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* --- En-tete --------------------------------------------------------------- */
.detail-head[b-rxsic8fk37] {
    margin-bottom: 1.5rem;
}

.detail-title[b-rxsic8fk37] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.detail-sub[b-rxsic8fk37] {
    margin: 0.5rem 0 0;
    font-size: 0.82rem;
    color: var(--ink-3);
}

.detail-sub .dim[b-rxsic8fk37] {
    color: var(--ink-3);
}

/* --- Disposition ----------------------------------------------------------- */
.detail-grid[b-rxsic8fk37] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.1rem;
    margin-bottom: 1.5rem;
}

@media (min-width: 760px) {
    .detail-grid[b-rxsic8fk37] {
        grid-template-columns: minmax(0, 1fr) 280px;
        align-items: start;
    }
}

/* Message : encart papier avec l'accent violet de la marque */
.msg[b-rxsic8fk37] {
    padding: 1.25rem 1.35rem;
}

.msg .eyebrow[b-rxsic8fk37] {
    margin: 0 0 0.75rem;
}

.msg-text[b-rxsic8fk37] {
    margin: 0;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    line-height: 1.65;
    color: var(--ink);
    background: var(--inset);
    border-left: 3px solid var(--violet);
    border-radius: 0 10px 10px 0;
    padding: 0.95rem 1.15rem;
}

.msg .empty[b-rxsic8fk37] {
    padding: 0;
}

/* Coordonnees : grille cle / valeur */
.meta[b-rxsic8fk37] {
    padding: 1.25rem 1.35rem;
}

.kv[b-rxsic8fk37] {
    margin: 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.6rem 1.4rem;
    align-items: baseline;
}

.kv dt[b-rxsic8fk37] {
    font-family: var(--data);
    font-size: 0.62rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ink-3);
}

.kv dd[b-rxsic8fk37] {
    margin: 0;
    font-size: 0.9rem;
    color: var(--ink);
    overflow-wrap: anywhere;
}

.kv-link[b-rxsic8fk37] {
    color: var(--blue-ink);
    text-decoration: none;
    font-family: var(--data);
    font-size: 0.85rem;
}

.kv-link:hover[b-rxsic8fk37] {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* --- Actions --------------------------------------------------------------- */
.actions[b-rxsic8fk37] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
}

.confirm[b-rxsic8fk37] {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    font-family: var(--data);
    font-size: 0.82rem;
    color: var(--ink-2);
}

/* --- Pilotage : controles -------------------------------------------------- */
.msg h2.eyebrow:not(:first-of-type)[b-rxsic8fk37] {
    margin-top: 1.4rem;
}

.meta .eyebrow[b-rxsic8fk37] {
    margin: 1.1rem 0 0.5rem;
}

.meta .eyebrow:first-of-type[b-rxsic8fk37] {
    margin-top: 0;
}

.ctl[b-rxsic8fk37] {
    font-family: var(--ui);
    font-size: 0.9rem;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0.4rem 0.6rem;
}

.ctl:focus-visible[b-rxsic8fk37] {
    border-color: var(--violet);
    outline-offset: 0;
}

select.ctl[b-rxsic8fk37] {
    width: 100%;
}

.inline[b-rxsic8fk37] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
    margin: 0.25rem 0;
}

.inline .ctl[b-rxsic8fk37] {
    flex: 1;
    min-width: 0;
}

.w-full[b-rxsic8fk37] {
    width: 100%;
    margin: 0.35rem 0;
    box-sizing: border-box;
}

/* --- Fil chronologique ----------------------------------------------------- */
.timeline[b-rxsic8fk37] {
    list-style: none;
    margin: 0.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.tl-item[b-rxsic8fk37] {
    display: flex;
    gap: 0.6rem;
    font-size: 0.85rem;
}

.tl-when[b-rxsic8fk37] {
    color: var(--ink-3);
    flex: 0 0 auto;
    font-variant-numeric: tabular-nums;
}

.tl-sys .tl-body[b-rxsic8fk37] {
    color: var(--ink-2);
    font-style: italic;
}

.note-add[b-rxsic8fk37] {
    margin-top: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.note-add textarea[b-rxsic8fk37] {
    width: 100%;
    min-height: 3.2rem;
    resize: vertical;
    font-family: var(--ui);
    font-size: 0.9rem;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 0.5rem 0.6rem;
    box-sizing: border-box;
}

.note-add .btn[b-rxsic8fk37] {
    align-self: flex-start;
}

/* --- Tags ------------------------------------------------------------------ */
.tag-row[b-rxsic8fk37] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    margin: 0.25rem 0;
}

.tag[b-rxsic8fk37] {
    font-size: 0.75rem;
    background: color-mix(in srgb, var(--ink) 6%, transparent);
    border: 1px solid var(--line);
    border-radius: 1rem;
    padding: 0.1rem 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--ink-2);
}

.tag-x[b-rxsic8fk37] {
    border: 0;
    background: none;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    color: var(--ink-3);
    padding: 0;
}

.tag-x:hover[b-rxsic8fk37] {
    color: var(--coral);
}

.btn--ghost[b-rxsic8fk37] {
    opacity: 0.7;
}

.sr-only[b-rxsic8fk37] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* /Components/Admin/Page_AdminLeads.razor.rz.scp.css */
/* --- En-tete du board ----------------------------------------------------- */
.board-head[b-jmsv0us4fr] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 1.1rem 0 1.2rem;
}

/* --- Recherche ------------------------------------------------------------- */
.search[b-jmsv0us4fr] {
    position: relative;
    flex: 1;
    min-width: 210px;
    max-width: 340px;
}

.search-ic[b-jmsv0us4fr] {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ink-3);
    font-size: 0.95rem;
    pointer-events: none;
}

.search input[b-jmsv0us4fr] {
    width: 100%;
    font-family: var(--ui);
    font-size: 0.9rem;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 0.5rem 0.9rem 0.5rem 2.1rem;
}

.search input[b-jmsv0us4fr]::placeholder {
    color: var(--ink-3);
}

.search input:focus-visible[b-jmsv0us4fr] {
    border-color: var(--violet);
    outline-offset: 0;
}

/* --- Board Kanban ---------------------------------------------------------- */
.board[b-jmsv0us4fr] {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    align-items: flex-start;
}

.col[b-jmsv0us4fr] {
    flex: 0 0 15rem;
    background: color-mix(in srgb, var(--ink) 4%, transparent);
    border: 1px solid var(--line);
    border-radius: 0.6rem;
}

.col-head[b-jmsv0us4fr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.75rem;
    font-family: var(--data);
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--ink-2);
    border-bottom: 1px solid var(--line);
    border-top-left-radius: 0.6rem;
    border-top-right-radius: 0.6rem;
}

.col-head .col-n[b-jmsv0us4fr] {
    font-variant-numeric: tabular-nums;
    color: var(--ink-3);
}

.col-head--new[b-jmsv0us4fr] { box-shadow: inset 0 2px 0 var(--coral); }
.col-head--contacted[b-jmsv0us4fr] { box-shadow: inset 0 2px 0 var(--blue); }
.col-head--qualified[b-jmsv0us4fr] { box-shadow: inset 0 2px 0 var(--violet); }
.col-head--proposal[b-jmsv0us4fr] { box-shadow: inset 0 2px 0 var(--amber); }
.col-head--won[b-jmsv0us4fr] { box-shadow: inset 0 2px 0 var(--green); }
.col-head--lost[b-jmsv0us4fr] { box-shadow: inset 0 2px 0 #b7ad99; }

.col-body[b-jmsv0us4fr] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.5rem;
    min-height: 3rem;
}

.col-empty[b-jmsv0us4fr] {
    text-align: center;
    color: var(--ink-3);
    margin: 0.25rem 0;
}

.lead-card[b-jmsv0us4fr] {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 0.45rem;
    padding: 0.55rem 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    cursor: pointer;
    transition: border-color 0.12s ease;
}

.lead-card:hover[b-jmsv0us4fr] {
    border-color: var(--ink-3);
}

.lead-card:focus-visible[b-jmsv0us4fr] {
    outline: 2px solid var(--violet);
    outline-offset: 1px;
}

.lead-card.col-overdue[b-jmsv0us4fr] {
    border-left: 3px solid var(--coral);
}

.lead-card-top[b-jmsv0us4fr] {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    align-items: baseline;
}

.card-val[b-jmsv0us4fr] {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
    color: var(--ink);
    font-family: var(--data);
}

.card-due[b-jmsv0us4fr] {
    font-size: 0.78rem;
    color: var(--ink-2);
}

.card-due.is-late[b-jmsv0us4fr] {
    color: var(--coral);
    font-weight: 600;
}

.card-tags[b-jmsv0us4fr] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
}

.tag[b-jmsv0us4fr] {
    font-size: 0.7rem;
    background: color-mix(in srgb, var(--ink) 6%, transparent);
    border: 1px solid var(--line);
    border-radius: 1rem;
    padding: 0.05rem 0.45rem;
    color: var(--ink-2);
}

.card-move select[b-jmsv0us4fr] {
    width: 100%;
    font-size: 0.78rem;
    font-family: var(--ui);
    color: var(--ink-2);
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: 6px;
    padding: 0.2rem 0.3rem;
}

.sr-only[b-jmsv0us4fr] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* /Components/Atoms/ArticleCallToAction.razor.rz.scp.css */
.article-cta[b-jlzmfzfq0l] {
    margin: 3rem 0 1rem;
    padding: 2rem;
    background: #fffdf8;
    border: 1px solid #eadfce;
    border-radius: 18px;
    text-align: center;
}

.article-cta-title[b-jlzmfzfq0l] {
    margin: 0 0 0.5rem;
    font-size: 1.4rem;
    font-weight: 800;
    color: #24292e;
}

.article-cta-body[b-jlzmfzfq0l] {
    margin: 0 auto 1.25rem;
    max-width: 40rem;
    color: #3f4a55;
    line-height: 1.6;
}

.article-cta-button[b-jlzmfzfq0l] {
    display: inline-block;
    padding: 0.75rem 1.75rem;
    background: #24292e;
    color: #fffdf8;
    text-decoration: none;
    font-weight: 700;
    border-radius: 999px;
}

.article-cta-button:hover[b-jlzmfzfq0l],
.article-cta-button:focus-visible[b-jlzmfzfq0l] {
    background: #3a4149;
}
/* /Components/Atoms/CultureSelector.razor.rz.scp.css */
/* Language switch: a compact segmented toggle (EN / FR).
   The active language reads as the site's signature dark pill; the other is a
   quiet outlined link. Mono codes echo the repo-card data strips. */

.lang-switch[b-jrlh7wtj6b] {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  margin-right: 0.8rem;
  padding: 3px;
  border: 1px solid rgba(36, 41, 46, 0.18);
  border-radius: 999px;
  font-family: 'Monocode', monospace;
  line-height: 1;
}

.lang-switch__option[b-jrlh7wtj6b] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
  color: rgba(36, 41, 46, 0.5);
  transition:
    color 0.2s ease,
    background-color 0.2s ease;
}

/* Inactive language: an actionable link */
a.lang-switch__option:hover[b-jrlh7wtj6b] {
  color: var(--accent-color-00);
  background: rgba(36, 41, 46, 0.07);
}

a.lang-switch__option:focus-visible[b-jrlh7wtj6b] {
  outline: 2px solid var(--accent-color-00);
  outline-offset: 2px;
}

/* Active language: solid dark pill, matches the primary CTA */
.lang-switch__option.is-active[b-jrlh7wtj6b] {
  color: var(--accent-color-01);
  background: var(--accent-color-00);
  cursor: default;
}

@media (min-width: 750px) {
  .lang-switch[b-jrlh7wtj6b] {
    margin-right: 1rem;
  }

  .lang-switch__option[b-jrlh7wtj6b] {
    min-width: 36px;
    padding: 5px 11px;
    font-size: 0.78rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lang-switch__option[b-jrlh7wtj6b] {
    transition: none;
  }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-1c4aulv79r] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-1c4aulv79r] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/MainLayoutNavigation.razor.rz.scp.css */
[b-sl849ndcf4] .menu-overlay {
    transition: clip-path 1.2s cubic-bezier(0.65, 0, 0.35, 1);
    pointer-events: none;
}

[b-sl849ndcf4] .menu-overlay-open {
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%) !important;
    pointer-events: all !important;
}

[b-sl849ndcf4] .menu-link-item-holder {
    transform: translateY(75px);
    transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1);
}

[b-sl849ndcf4] .menu-overlay-open .menu-link-item-holder {
    transform: translateY(0);
}

/* Stagger the animations for menu items */
[b-sl849ndcf4] .menu-overlay-open .menu-link-item:nth-child(1) .menu-link-item-holder {
    transition-delay: 0.1s;
}

[b-sl849ndcf4] .menu-overlay-open .menu-link-item:nth-child(2) .menu-link-item-holder {
    transition-delay: 0.2s;
}

[b-sl849ndcf4] .menu-overlay-open .menu-link-item:nth-child(3) .menu-link-item-holder {
    transition-delay: 0.3s;
}

[b-sl849ndcf4] .menu-overlay-open .menu-link-item:nth-child(4) .menu-link-item-holder {
    transition-delay: 0.4s;
}

[b-sl849ndcf4] .menu-overlay-open .menu-link-item:nth-child(5) .menu-link-item-holder {
    transition-delay: 0.5s;
}

[b-sl849ndcf4] .menu-overlay-open .menu-link-item:nth-child(6) .menu-link-item-holder {
    transition-delay: 0.6s;
}

[b-sl849ndcf4] .menu-overlay-open .menu-link-item:nth-child(7) .menu-link-item-holder {
    transition-delay: 0.7s;
}

/* Reverse animation timing when closing */
[b-sl849ndcf4] .menu-overlay:not(.menu-overlay-open) .menu-link-item-holder {
    transition-delay: 0s;
}
