/* MACHINA_THEME_RUNTIME_START
   Couche de variables et d'adaptation des thèmes enregistrés.
*/
@media screen {
  :root {
    --m2-font-size:15px;
    --m2-row-pad:9px;
    --m2-control-height:36px;
    --m2-button-height:32px;
    --m2-max-width:1664px;
    --m2-panel-shadow:none;
    --m2-page-background:var(--m2-paper);
  }

  body {
    color:var(--ink);
    background:var(--m2-page-background);
    font-family:var(--m2-sans);
    font-size:var(--m2-font-size);
  }

  .app { width:min(var(--m2-max-width),100%); }

  .panel,
  .compact-panel,
  .entity-card,
  .module-card,
  .stat-card,
  .budget-kpi,
  .annual-kpi,
  .biztax-kpi,
  .login-card,
  .app-dialog {
    box-shadow:var(--m2-panel-shadow);
  }

  input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
  select,
  textarea,
  .readonly-field {
    min-height:var(--m2-control-height);
  }

  .button { min-height:var(--m2-button-height); }

  .registration-dense-table tbody td {
    padding-top:var(--m2-row-pad);
    padding-bottom:var(--m2-row-pad);
  }

  .topbar,
  .main-nav.main-nav-dynamic,
  .nav-dropdown-panel,
  .view-menu-panel,
  .glossary-search-results,
  .participant-operation-menu,
  .dialog-head {
    background:color-mix(in srgb,var(--m2-card) 96%,transparent);
  }

  input,
  select,
  textarea,
  .readonly-field,
  .participant-quick-filters,
  .main-nav-dynamic .nav-view-menu>summary,
  .participant-operations>summary,
  .participant-advanced-filters>summary,
  .sample-search {
    color:var(--ink);
    border-color:var(--m2-line-strong);
    background-color:var(--m2-card-strong);
  }

  input::placeholder,
  textarea::placeholder { color:color-mix(in srgb,var(--muted) 76%,transparent); }

  .button-primary {
    color:var(--m2-paper);
    border-color:var(--ink);
    background:var(--ink);
  }
  .button-secondary {
    color:var(--m2-paper);
    border-color:var(--m2-forest);
    background:var(--m2-forest);
  }
  .button-light {
    color:var(--ink);
    border-color:var(--m2-line-strong);
    background:var(--m2-card);
  }
  .button-warning {
    color:color-mix(in srgb,var(--m2-gold) 70%,var(--ink));
    border-color:color-mix(in srgb,var(--m2-gold) 42%,var(--m2-line));
    background:color-mix(in srgb,var(--m2-gold) 16%,var(--m2-card));
  }
  .button-danger {
    color:var(--m2-danger);
    border-color:color-mix(in srgb,var(--m2-danger) 38%,var(--m2-line));
    background:color-mix(in srgb,var(--m2-danger) 13%,var(--m2-card));
  }

  .alert-success,
  .badge-green,
  .badge-role,
  .badge-blue,
  .status-select,
  .pill:not(.wait):not(.danger) {
    color:color-mix(in srgb,var(--m2-forest) 72%,var(--ink));
    border-color:color-mix(in srgb,var(--m2-forest) 32%,var(--m2-line));
    background:color-mix(in srgb,var(--m2-forest) 14%,var(--m2-card));
  }
  .alert-warning,
  .badge-yellow,
  .badge-orange,
  .status-select.status-liste_attente,
  .status-select.status-waiting,
  .status-select.status-en_attente,
  .pill.wait {
    color:color-mix(in srgb,var(--m2-gold) 72%,var(--ink));
    border-color:color-mix(in srgb,var(--m2-gold) 35%,var(--m2-line));
    background:color-mix(in srgb,var(--m2-gold) 15%,var(--m2-card));
  }
  .alert-error,
  .badge-red,
  .status-select.status-annule,
  .status-select.status-cancelled,
  .status-select.status-refuse,
  .pill.danger,
  .dialog-danger-zone {
    color:var(--m2-danger);
    border-color:color-mix(in srgb,var(--m2-danger) 36%,var(--m2-line));
    background:color-mix(in srgb,var(--m2-danger) 13%,var(--m2-card));
  }
  .alert-info {
    color:color-mix(in srgb,var(--m2-forest) 58%,var(--ink));
    border-color:color-mix(in srgb,var(--m2-forest) 25%,var(--m2-line));
    background:color-mix(in srgb,var(--m2-forest) 9%,var(--m2-card));
  }

  th,
  .registration-dense-table thead th,
  .accounting-inline-header,
  .timeline-v3-toolbar-actions,
  .timeline-v3-controls,
  .timeline-v3-topbar,
  .timeline-v3-period-label,
  .timeline-v3-lane-label {
    color:var(--muted);
    border-color:var(--m2-line-strong);
    background:var(--m2-paper-2);
  }

  tbody tr,
  .registration-dense-table tbody tr,
  .dashboard-simple-row,
  .accounting-transaction,
  .accounting-inline-card,
  .todo-inline-row,
  .scenario-row,
  .role-board-row,
  .distribution-row,
  .cross-link-card,
  .link-card,
  .onedrive-item,
  .reference-edit-card,
  .reference-option {
    color:var(--ink);
    border-color:var(--m2-line);
    background:var(--m2-card);
  }

  tbody tr:hover,
  .registration-dense-table tbody tr:hover,
  .dashboard-simple-row:hover,
  .onedrive-item:hover,
  .reference-option:hover {
    background:var(--m2-card-strong);
  }

  .subpanel,
  .checkbox-grid,
  .detail-grid div,
  .accounting-transaction-detail-grid>div,
  .allocation-list li,
  .sync-record-state,
  .onedrive-breadcrumb,
  .onedrive-root-actions {
    color:var(--ink);
    border-color:var(--m2-line);
    background:var(--m2-paper-2);
  }

  .app-dialog { color:var(--ink); background:var(--m2-paper); }
  .app-dialog::backdrop { background:color-mix(in srgb,var(--ink) 62%,transparent); }

  .registration-category-cell select[data-registration-field="category"] {
    color:color-mix(in srgb,var(--m2-forest) 75%,var(--ink));
    border-color:color-mix(in srgb,var(--m2-forest) 30%,var(--m2-line));
    background-color:color-mix(in srgb,var(--m2-forest) 13%,var(--m2-card));
  }

  .progress-track,
  .dashboard-simple-progress,
  .dashboard-simple-track { background:color-mix(in srgb,var(--m2-line) 84%,var(--m2-card)); }
  .progress-fill,
  .dashboard-simple-progress>span,
  .dashboard-simple-fill { background:var(--m2-forest); }
}

/*
 * GARDE MOBILE DU MENU PRINCIPAL — 15/09/2026.
 *
 * MACHINA 2 affiche les catégories sur une bande horizontale défilante sur
 * téléphone. Les dépliants étaient déjà non rétractables, mais le lien direct
 * Messagerie gardait le flex-shrink historique de app.css : sa boîte pouvait
 * devenir plus étroite que son libellé non sécable et le texte passait sous la
 * catégorie suivante. Tous les éléments de premier niveau ont désormais la
 * même règle : largeur intrinsèque, aucun rétrécissement, défilement horizontal
 * si l'écran est trop étroit. Aucun comportement desktop n'est modifié.
 */
@media screen and (max-width:760px) {
  .main-nav-dynamic .main-nav-groups {
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .main-nav-dynamic .main-nav-groups > .nav-dropdown,
  .main-nav-dynamic .main-nav-groups > .nav-direct-button {
    flex:0 0 auto;
    width:auto;
    max-width:none;
  }

  .main-nav-dynamic .nav-home-button,
  .main-nav-dynamic .nav-view-menu {
    flex:0 0 auto;
  }
}
/* MACHINA_THEME_RUNTIME_END */
