/*
 * ILC Unified Applications — visual design system
 * Source of truth for the standalone ILC web applications.
 * Palette and proportions are aligned with the 2026 ilcolmar.fr website.
 */

:root {
  --ilc-green: #01a700;
  --ilc-green-dark: #035d03;
  --ilc-green-bright: #16d861;
  --ilc-green-soft: #9de07e;
  --ilc-green-pale: #eaf7e4;
  --ilc-green-glow: rgba(1, 167, 0, .42);
  --ilc-ink: #0c0f0d;
  --ilc-ink-2: #111411;
  --ilc-ink-3: #1c241d;
  --ilc-surface: rgba(25, 49, 31, .82);
  --ilc-surface-soft: rgba(255, 255, 255, .055);
  --ilc-line: rgba(157, 224, 126, .22);
  --ilc-line-strong: rgba(22, 216, 97, .48);
  --ilc-white: #fff;
  --ilc-text: #f4f8f3;
  --ilc-muted: #b6c5b7;
  --ilc-danger: #e65367;
  --ilc-warning: #e9a23b;
  --ilc-radius: 22px;
  --ilc-radius-sm: 14px;
  --ilc-shadow: 0 28px 72px rgba(0, 0, 0, .34);
  --ilc-shadow-soft: 0 14px 36px rgba(0, 0, 0, .22);
  --ilc-shadow-glow: 0 0 0 1px rgba(1, 167, 0, .16), 0 28px 64px -26px rgba(1, 167, 0, .52);
  --ilc-display: "Sora", "Aptos Display", "Segoe UI", system-ui, sans-serif;
  --ilc-font: "Inter", "Aptos", "Segoe UI", system-ui, -apple-system, sans-serif;
  --ilc-ease: cubic-bezier(.22, 1, .36, 1);
  --ilc-corporate-bar-height: 38px;
}

/* Shared SaaS canvas ----------------------------------------------------
   Keep every standalone application on the exact same background as the
   ecosystem home page. The home keeps its own DOM grid/orbits; applications
   use the fixed fallback below so no page-specific markup is required. */
html {
  min-height: 100%;
  background:
    radial-gradient(circle at calc(100% - 20px) calc(var(--ilc-corporate-bar-height) + 460px), transparent 0 239px, rgba(157, 224, 126, .10) 240px 241px, transparent 242px),
    radial-gradient(circle at calc(100% - 20px) calc(var(--ilc-corporate-bar-height) + 460px), transparent 0 379px, rgba(157, 224, 126, .10) 380px 381px, transparent 382px),
    radial-gradient(920px 620px at 80% 5%, rgba(22, 216, 97, .20), transparent 65%),
    radial-gradient(760px 620px at 4% 48%, rgba(1, 167, 0, .12), transparent 68%),
    linear-gradient(140deg, #090d0b 0%, #0d1811 48%, #09130d 100%) !important;
  background-attachment: fixed !important;
}

body.ilc-app {
  --green: var(--ilc-green-bright);
  --green2: var(--ilc-green);
  --accent: var(--ilc-green-bright);
  --accent2: var(--ilc-green);
  --text: var(--ilc-text);
  --muted: var(--ilc-muted);
  --radius: var(--ilc-radius-sm);
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
  padding-top: var(--ilc-corporate-bar-height) !important;
  font-family: var(--ilc-font) !important;
  color: var(--ilc-text);
  background:
    radial-gradient(920px 620px at 80% 5%, rgba(22, 216, 97, .20), transparent 65%),
    radial-gradient(760px 620px at 4% 48%, rgba(1, 167, 0, .12), transparent 68%),
    linear-gradient(140deg, #090d0b 0%, #0d1811 48%, #09130d 100%) !important;
  background-attachment: fixed !important;
  color-scheme: dark;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.ilc-app:not(.ilc-ecosystem-home) {
  background: transparent !important;
}

body.ilc-app:not(.ilc-ecosystem-home)::before {
  content: "" !important;
  position: fixed !important;
  inset: var(--ilc-corporate-bar-height) 0 0 !important;
  z-index: -1 !important;
  display: block !important;
  pointer-events: none !important;
  opacity: .22 !important;
  background-image:
    linear-gradient(rgba(157, 224, 126, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(157, 224, 126, .07) 1px, transparent 1px) !important;
  background-size: 64px 64px !important;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .78) 60%, transparent 100%) !important;
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .78) 60%, transparent 100%) !important;
}

/* Retire only the old direct decorative layers. Nested grids and business
   content keep their normal display and behaviour. */
body.ilc-app:not(.ilc-ecosystem-home) > :is(.blob, .grid, .bg-grid, .bg-orb, .app-bg, .bgGlow) {
  display: none !important;
}

body.ilc-app::after {
  content: "ILC · Informatique & Logiciels Colmar    •    Applications métiers sécurisées";
  position: fixed;
  inset: 0 0 auto;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--ilc-corporate-bar-height);
  padding: 0 24px;
  background: var(--ilc-green-dark);
  color: #fff;
  font: 700 12px/1 var(--ilc-font);
  letter-spacing: .015em;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .12);
  pointer-events: none;
}

.ilc-app *,
.ilc-app *::before,
.ilc-app *::after { box-sizing: border-box; }

.ilc-app h1,
.ilc-app h2,
.ilc-app h3,
.ilc-app h4,
.ilc-app .title,
.ilc-app .h1,
.ilc-app .top-title,
.ilc-app .brand-title,
.ilc-app .brandText .t1 {
  font-family: var(--ilc-display) !important;
  letter-spacing: -.02em;
}

.ilc-app :focus-visible {
  outline: 3px solid var(--ilc-green-bright) !important;
  outline-offset: 3px;
}

.ilc-app ::selection {
  color: #fff;
  background: var(--ilc-green);
}

.ilc-app a { color: var(--ilc-green-soft); }

.ilc-app input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.ilc-app select,
.ilc-app textarea {
  min-height: 46px;
  border: 1px solid var(--ilc-line) !important;
  border-radius: 13px !important;
  background: rgba(7, 17, 11, .74) !important;
  color: var(--ilc-text) !important;
  font: 500 16px/1.35 var(--ilc-font) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
  transition: border-color .2s var(--ilc-ease), box-shadow .2s var(--ilc-ease), background .2s var(--ilc-ease);
}

.ilc-app input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"])::placeholder,
.ilc-app textarea::placeholder { color: rgba(182, 197, 183, .56) !important; }

.ilc-app input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):hover,
.ilc-app select:hover,
.ilc-app textarea:hover { border-color: rgba(157, 224, 126, .38) !important; }

.ilc-app input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,
.ilc-app select:focus,
.ilc-app textarea:focus {
  border-color: var(--ilc-green-bright) !important;
  box-shadow: 0 0 0 4px rgba(22, 216, 97, .13) !important;
}

.ilc-app .btn,
.ilc-app button,
.ilc-app [type="submit"] {
  min-height: 44px;
  border-radius: 999px !important;
  font-family: var(--ilc-display) !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  transition: transform .22s var(--ilc-ease), border-color .22s var(--ilc-ease), background .22s var(--ilc-ease), box-shadow .22s var(--ilc-ease) !important;
}

.ilc-app .btn:hover,
.ilc-app button:hover,
.ilc-app [type="submit"]:hover { transform: translateY(-2px); }

.ilc-app .btn-primary,
.ilc-app .btn.primary,
.ilc-app [type="submit"] {
  border: 1px solid transparent !important;
  background: linear-gradient(120deg, var(--ilc-green-bright), var(--ilc-green)) !important;
  color: #04210b !important;
  box-shadow: 0 12px 28px -10px var(--ilc-green-glow) !important;
}

.ilc-app .btn-primary:hover,
.ilc-app .btn.primary:hover,
.ilc-app [type="submit"]:hover {
  box-shadow: 0 16px 34px -9px rgba(22, 216, 97, .62) !important;
}

.ilc-app .btn.danger {
  border-color: rgba(230, 83, 103, .38) !important;
  background: rgba(230, 83, 103, .10) !important;
  color: #ffdfe4 !important;
  box-shadow: none !important;
}

.ilc-app img.brand-logo-img,
.ilc-app img.brandLogo,
.ilc-app img.brand-logo,
.ilc-app img.top-logo,
.ilc-app img.logoPng,
.ilc-app img.loginHero {
  object-fit: contain !important;
  filter: drop-shadow(0 14px 28px rgba(0, 0, 0, .28));
}

/* Authentication surfaces ------------------------------------------------ */
.ilc-auth { overflow-x: hidden; }

.ilc-auth .login-shell,
.ilc-auth .authWrap,
.ilc-auth .center,
.ilc-auth > .wrap {
  position: relative;
  z-index: 2;
  min-height: calc(100vh - 38px) !important;
}

.ilc-auth .login-card,
.ilc-auth .authCard,
.ilc-auth .card {
  border: 1px solid var(--ilc-line) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(520px 220px at 82% 0%, rgba(22, 216, 97, .12), transparent 70%),
    linear-gradient(145deg, rgba(24, 43, 29, .96), rgba(10, 20, 13, .96)) !important;
  box-shadow: var(--ilc-shadow), var(--ilc-shadow-glow) !important;
}

.ilc-auth .glass { backdrop-filter: blur(18px) saturate(120%); }

.ilc-auth .brand-kicker,
.ilc-auth .brand,
.ilc-auth .topline {
  color: var(--ilc-green-soft) !important;
  font-family: var(--ilc-display) !important;
  font-weight: 700 !important;
}

.ilc-auth .brand h1,
.ilc-auth .authHeader h1,
.ilc-auth .title,
.ilc-auth .h1 {
  color: #fff !important;
  font-weight: 800 !important;
}

.ilc-auth .brand p,
.ilc-auth .subtitle,
.ilc-auth .muted,
.ilc-auth .sub { color: var(--ilc-muted) !important; }

.ilc-auth .login-form,
.ilc-auth .form { gap: 13px; }

.ilc-auth label {
  color: #e9f4e8 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase;
}

.ilc-auth .login-foot,
.ilc-auth .footer,
.ilc-auth .foot {
  color: var(--ilc-muted) !important;
  font-size: 12px !important;
}

/* Sharing: first reference implementation. */
.ilc-sharing.login-page { align-items: center; overflow: auto; }

.ilc-sharing .login-shell {
  width: min(100%, 560px);
  max-width: 560px;
  padding: 48px 22px;
}

.ilc-sharing .login-card { padding: clamp(24px, 5vw, 42px); }

.ilc-sharing .login-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-top: 5px solid var(--ilc-green-bright);
  border-radius: inherit;
  pointer-events: none;
}

.ilc-sharing .brand { align-items: center; gap: 20px; margin-bottom: 30px; }

.ilc-sharing .brand-logo {
  width: 96px;
  height: 76px;
  flex: 0 0 96px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ilc-sharing .brand-logo-img {
  width: 96px;
  height: 76px;
}

.ilc-sharing .logo-ring { display: none; }

.ilc-sharing .brand-kicker {
  margin-bottom: 5px;
  color: var(--ilc-green-soft) !important;
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.ilc-sharing .brand h1 { font-size: clamp(25px, 5vw, 35px); line-height: 1.04; }

.ilc-sharing .brand p { max-width: 34ch; line-height: 1.5; }

.ilc-sharing .login-form .btn { width: 100%; margin-top: 8px; }

.ilc-sharing .bg-orb { opacity: .35; filter: blur(80px); }

/* Shared dashboard shell ------------------------------------------------- */
.ilc-dashboard {
  overflow-x: hidden;
}

.ilc-dashboard .topbar {
  position: sticky;
  top: 50px;
  z-index: 40;
  width: calc(100% - 32px);
  max-width: 1700px;
  margin: 14px auto 18px;
  padding: 13px 16px !important;
  border: 1px solid rgba(3, 93, 3, .16) !important;
  border-top: 4px solid var(--ilc-green) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .965) !important;
  color: var(--ilc-ink) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .22) !important;
  backdrop-filter: blur(18px) saturate(140%);
}

.ilc-dashboard .topbar .brand,
.ilc-dashboard .topbar .brandline,
.ilc-dashboard .topbar .top-left {
  color: var(--ilc-ink) !important;
}

.ilc-dashboard .topbar h1,
.ilc-dashboard .topbar .title,
.ilc-dashboard .topbar .top-title,
.ilc-dashboard .topbar .brandText .t1 {
  color: var(--ilc-ink) !important;
  font-weight: 800 !important;
}

.ilc-dashboard .topbar .muted,
.ilc-dashboard .topbar .sub,
.ilc-dashboard .topbar .header-sub,
.ilc-dashboard .topbar .brandText .t2 { color: #5e6a60 !important; }

.ilc-dashboard .topbar .logo,
.ilc-dashboard .topbar .brand-logo,
.ilc-dashboard .topbar .brandLogo,
.ilc-dashboard .topbar .top-logo {
  border-color: #d7e6d4 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.ilc-dashboard .topbar .logo {
  width: 104px !important;
  height: 58px !important;
  flex: 0 0 104px;
  border-radius: 14px !important;
}

.ilc-dashboard .topbar img.brand-logo-img,
.ilc-dashboard .topbar img.brandLogo,
.ilc-dashboard .topbar img.top-logo,
.ilc-dashboard .topbar .logo img {
  width: 92px !important;
  height: 48px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

.ilc-dashboard .topbar .btn:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout):not([href*="logout"]),
.ilc-dashboard .topbar button:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout) {
  border: 1px solid #d7ded4 !important;
  background: #f3f6f1 !important;
  color: #1b211c !important;
  box-shadow: none !important;
}

.ilc-dashboard .topbar .btn:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout):not([href*="logout"]):hover,
.ilc-dashboard .topbar button:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout):hover {
  border-color: var(--ilc-green) !important;
  background: var(--ilc-green-pale) !important;
}

.ilc-dashboard .topbar .btn.danger {
  border-color: rgba(196, 44, 65, .20) !important;
  background: #fff3f5 !important;
  color: #a31f35 !important;
}

.ilc-dashboard .topbar input:not([type="checkbox"]):not([type="radio"]),
.ilc-dashboard .topbar select,
.ilc-dashboard .topbar .search {
  border-color: #d7ded4 !important;
  background: #f7f9f6 !important;
  color: var(--ilc-ink) !important;
}

.ilc-dashboard .topbar input::placeholder { color: #778278 !important; }

.ilc-dashboard .chip,
.ilc-dashboard .user-badge-panel {
  border: 1px solid var(--ilc-line) !important;
  border-radius: 999px !important;
  background: rgba(157, 224, 126, .10) !important;
  color: var(--ilc-text) !important;
}

.ilc-dashboard .topbar .chip,
.ilc-dashboard .topbar .user-badge-panel {
  border-color: #d7e6d4 !important;
  background: var(--ilc-green-pale) !important;
  color: var(--ilc-green-dark) !important;
}

.ilc-dashboard .panel,
.ilc-dashboard .tableWrap,
.ilc-dashboard .table-wrap,
.ilc-dashboard .card.glass,
.ilc-dashboard .layout > section {
  border: 1px solid var(--ilc-line) !important;
  border-radius: var(--ilc-radius) !important;
  background:
    radial-gradient(700px 260px at 92% -5%, rgba(22, 216, 97, .09), transparent 70%),
    linear-gradient(145deg, rgba(25, 43, 29, .94), rgba(10, 20, 13, .94)) !important;
  box-shadow: var(--ilc-shadow-soft) !important;
}

.ilc-dashboard .panelHead,
.ilc-dashboard .panel-head,
.ilc-dashboard .filters,
.ilc-dashboard .toolbar,
.ilc-dashboard .stats {
  gap: 10px;
}

.ilc-dashboard .btn:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout):not([href*="logout"]),
.ilc-dashboard button:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout) {
  border: 1px solid rgba(157, 224, 126, .20) !important;
  background: rgba(255, 255, 255, .055) !important;
  color: #eef7ed !important;
  box-shadow: none !important;
}

.ilc-dashboard .btn:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout):not([href*="logout"]):hover,
.ilc-dashboard button:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout):hover {
  border-color: var(--ilc-green-bright) !important;
  background: rgba(22, 216, 97, .12) !important;
}

.ilc-dashboard .thead,
.ilc-dashboard table thead {
  background: rgba(3, 93, 3, .20) !important;
  color: #e9f7e7 !important;
}

.ilc-dashboard .tbody,
.ilc-dashboard table tbody { background: rgba(5, 14, 8, .38) !important; }

.ilc-dashboard .row,
.ilc-dashboard table tbody tr:not(.groupHeader) {
  border-color: rgba(157, 224, 126, .12) !important;
  transition: background .2s var(--ilc-ease), border-color .2s var(--ilc-ease), transform .2s var(--ilc-ease);
}

.ilc-dashboard .row:hover,
.ilc-dashboard table tbody tr:not(.groupHeader):hover {
  background: rgba(22, 216, 97, .075) !important;
}

.ilc-dashboard .row.selected,
.ilc-dashboard table tbody tr.sel {
  background: rgba(22, 216, 97, .13) !important;
  box-shadow: inset 4px 0 0 var(--ilc-green-bright);
}

.ilc-dashboard .groupSep,
.ilc-dashboard .groupHead,
.ilc-dashboard tr.groupHeader td {
  background: rgba(3, 93, 3, .26) !important;
  color: var(--ilc-green-soft) !important;
  font-family: var(--ilc-display) !important;
  font-weight: 700 !important;
}

.ilc-dashboard .modalOverlay,
.ilc-dashboard .overlay,
.ilc-dashboard .ilc-overlay,
.ilc-dashboard .app-modal {
  top: var(--ilc-corporate-bar-height) !important;
  height: auto !important;
  background: rgba(4, 10, 7, .76) !important;
  backdrop-filter: blur(12px);
}

.ilc-dashboard .modal,
.ilc-dashboard .modalCard,
.ilc-dashboard .ilc-modal,
.ilc-dashboard .app-modal-dialog {
  border: 1px solid var(--ilc-line) !important;
  border-radius: 24px !important;
  background:
    radial-gradient(620px 260px at 82% 0%, rgba(22, 216, 97, .12), transparent 70%),
    linear-gradient(145deg, #17271c, #0b140e) !important;
  color: var(--ilc-text) !important;
  box-shadow: 0 34px 90px rgba(0, 0, 0, .52) !important;
}

.ilc-dashboard .modalHeader,
.ilc-dashboard .modalFooter,
.ilc-dashboard .modalHead,
.ilc-dashboard .modalFoot,
.ilc-dashboard .ilc-modal__head,
.ilc-dashboard .app-modal-head {
  border-color: rgba(157, 224, 126, .14) !important;
  background: rgba(4, 14, 8, .35) !important;
}

.ilc-dashboard .modalClose,
.ilc-dashboard .iconBtn,
.ilc-dashboard .modal-close-btn {
  width: 44px !important;
  min-width: 44px;
  height: 44px !important;
  min-height: 44px;
  padding: 0 !important;
  border-radius: 50% !important;
}

.ilc-dashboard .toast,
.ilc-dashboard .toastHost .toast,
.ilc-dashboard .toast-stack .toast {
  border: 1px solid var(--ilc-line-strong) !important;
  border-radius: 14px !important;
  background: rgba(12, 28, 17, .96) !important;
  color: #fff !important;
  box-shadow: var(--ilc-shadow-soft) !important;
}

/* Ticketing + repair authentication family ------------------------------ */
.ilc-ticketing.ilc-auth .wrap,
.ilc-dossier.ilc-auth .wrap { padding: 46px 18px; }

.ilc-ticketing.ilc-auth .card,
.ilc-dossier.ilc-auth .card { width: min(1080px, 100%); gap: 0 !important; }

.ilc-ticketing.ilc-auth .topline,
.ilc-dossier.ilc-auth .topline {
  padding: 12px 18px !important;
  border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
  background: linear-gradient(90deg, var(--ilc-green-dark), var(--ilc-green)) !important;
  color: #fff !important;
}

.ilc-ticketing.ilc-auth .topline .brand,
.ilc-dossier.ilc-auth .topline .brand { color: #fff !important; letter-spacing: .09em !important; }

.ilc-ticketing.ilc-auth .topline .dot,
.ilc-dossier.ilc-auth .topline .dot { background: #fff !important; box-shadow: 0 0 0 4px rgba(255, 255, 255, .15) !important; }

.ilc-ticketing.ilc-auth .badge,
.ilc-dossier.ilc-auth .badge {
  border-color: rgba(255, 255, 255, .24) !important;
  background: rgba(4, 33, 11, .54) !important;
  color: #fff !important;
}

.ilc-ticketing.ilc-auth .pane,
.ilc-dossier.ilc-auth .pane { padding: clamp(24px, 4vw, 42px) !important; }

.ilc-ticketing.ilc-auth .right,
.ilc-dossier.ilc-auth .right {
  padding: clamp(22px, 3.5vw, 36px) !important;
  border-left: 1px solid rgba(157, 224, 126, .17) !important;
  background: rgba(9, 25, 13, .42) !important;
}

.ilc-ticketing.ilc-auth .panel,
.ilc-ticketing.ilc-auth .logoBox,
.ilc-ticketing.ilc-auth .info,
.ilc-dossier.ilc-auth .panel,
.ilc-dossier.ilc-auth .logoBox,
.ilc-dossier.ilc-auth .info,
.ilc-dossier.ilc-auth .callout {
  border: 1px solid var(--ilc-line) !important;
  border-radius: 18px !important;
  background: rgba(3, 16, 7, .42) !important;
  box-shadow: none !important;
}

.ilc-ticketing.ilc-auth .logoPng,
.ilc-dossier.ilc-auth .logoPng {
  width: min(300px, 90%) !important;
  max-height: 124px;
}

.ilc-ticketing.ilc-auth .title .accent,
.ilc-dossier.ilc-auth .title .accent { color: var(--ilc-green-bright) !important; }

.ilc-ticketing.ilc-auth .iconbtn,
.ilc-dossier.ilc-auth .iconbtn {
  min-height: 38px;
  border: 1px solid var(--ilc-line) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .06) !important;
}

.ilc-ticketing.ilc-auth .btn,
.ilc-dossier.ilc-auth .btn { width: 100%; }

/* Ticketing dashboard ---------------------------------------------------- */
.ilc-ticketing.ilc-dashboard .topbar .whoami {
  border: 1px solid rgba(1, 167, 0, .26) !important;
  background: linear-gradient(135deg, #f1faed, #e3f6dc) !important;
  color: #073f0c !important;
  box-shadow:
    0 0 0 1px rgba(1, 167, 0, .08),
    0 10px 24px -16px rgba(1, 167, 0, .72) !important;
}

.ilc-ticketing.ilc-dashboard .topbar .whoamiName {
  color: #064b0c !important;
}

.ilc-ticketing.ilc-dashboard .topbar .whoamiOrg {
  border-color: rgba(1, 167, 0, .22) !important;
  background: rgba(1, 167, 0, .09) !important;
  color: #087114 !important;
}

.ilc-ticketing.ilc-dashboard .topbar .whoamiDot {
  background: var(--ilc-green-bright) !important;
  box-shadow:
    0 0 0 3px rgba(22, 216, 97, .14),
    0 0 14px rgba(1, 167, 0, .50) !important;
}

.ilc-ticketing.ilc-dashboard .topbar .search {
  border-color: rgba(157, 224, 126, .30) !important;
  background:
    radial-gradient(420px 100px at 12% 0%, rgba(22, 216, 97, .13), transparent 70%),
    linear-gradient(135deg, #17321f, #0a170e) !important;
  color: var(--ilc-green-soft) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}

.ilc-ticketing.ilc-dashboard .topbar .search:focus-within {
  border-color: var(--ilc-green-bright) !important;
  box-shadow: 0 0 0 3px rgba(22, 216, 97, .13) !important;
}

.ilc-ticketing.ilc-dashboard .topbar .search #q {
  min-height: 42px !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ilc-text) !important;
  box-shadow: none !important;
}

.ilc-ticketing.ilc-dashboard .topbar .search #q::placeholder {
  color: rgba(244, 248, 243, .58) !important;
}

.ilc-ticketing.ilc-dashboard .editLogo {
  width: 88px !important;
  height: 50px !important;
  flex: 0 0 88px !important;
  display: grid !important;
  place-items: center !important;
  padding: 5px 7px !important;
}

.ilc-ticketing.ilc-dashboard .editLogo img,
.ilc-ticketing.ilc-dashboard .ilc-aboutLogo img {
  display: block !important;
  margin: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

.ilc-ticketing.ilc-dashboard .editLogo img {
  width: 100% !important;
  height: 100% !important;
}

.ilc-ticketing.ilc-dashboard .ilc-aboutLogo img {
  width: 92% !important;
  height: 92% !important;
}

/* Preserve the eye button's centering when the shared hover lift applies. */
.ilc-ticketing.ilc-auth .inputRow #togglePwd,
.ilc-ticketing.ilc-auth .inputRow #togglePwd:hover,
.ilc-ticketing.ilc-auth .inputRow #togglePwd:active,
.ilc-ticketing.ilc-auth .inputRow #togglePwd:focus-visible {
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* Ticketing keeps one compact, accessible focus ring on form controls. */
.ilc-ticketing.ilc-dashboard :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  select,
  textarea
):focus-visible {
  outline: 0 !important;
  outline-offset: 0 !important;
}

.ilc-ticketing.ilc-dashboard :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  select,
  textarea
):focus {
  border-color: rgba(22, 216, 97, .76) !important;
  box-shadow: 0 0 0 2px rgba(22, 216, 97, .10) !important;
}

.ilc-ticketing.ilc-dashboard .topbar .search:focus-within {
  border-color: rgba(22, 216, 97, .78) !important;
  box-shadow: 0 0 0 1px rgba(22, 216, 97, .14) !important;
}

.ilc-ticketing.ilc-dashboard .topbar .search #q:focus,
.ilc-ticketing.ilc-dashboard .topbar .search #q:focus-visible {
  outline: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Ticketing light mode ---------------------------------------------------
   The legacy stylesheet contains a second dark block after its light-theme
   rules. Keep this adapter late and strictly scoped so dark mode is untouched. */
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard {
  --ticket-light-ink: #162018;
  --ticket-light-muted: #5d6a60;
  --ticket-light-line: #d6e4d3;
  --ticket-light-panel: #fff;
  --ticket-light-soft: #f5f8f4;
  --ticket-choice-bg: #e3f6dc;
  --ticket-choice-border: #008b0b;
  --ticket-choice-ink: #064c0a;
  --ticket-choice-ring: rgba(0, 139, 11, .22);
  --text: var(--ticket-light-ink);
  --muted: var(--ticket-light-muted);
  color: var(--ticket-light-ink) !important;
  color-scheme: light;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modalOverlay, .overlay, .ilc-overlay) {
  background: rgba(12, 18, 14, .30) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) {
  border-color: rgba(1, 167, 0, .20) !important;
  background:
    radial-gradient(620px 260px at 82% 0%, rgba(22, 216, 97, .08), transparent 70%),
    linear-gradient(145deg, #fff, #f6faf5) !important;
  color: var(--ticket-light-ink) !important;
  box-shadow: 0 30px 80px rgba(20, 40, 24, .18) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .modal::before {
  background:
    radial-gradient(700px 260px at 20% 0%, rgba(22, 216, 97, .07), transparent 60%),
    radial-gradient(600px 260px at 90% 20%, rgba(1, 167, 0, .04), transparent 60%) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(
  .modalHeader,
  .modalHead,
  .ilc-modal__head
) {
  border-color: var(--ticket-light-line) !important;
  background: rgba(255, 255, 255, .98) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(
  .modalBody,
  .catBody,
  .ilc-modal__body
) {
  background: var(--ticket-light-soft) !important;
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modalFooter, .modalFoot) {
  border-color: var(--ticket-light-line) !important;
  background: #fff !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal),
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :where(*) {
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(
  .modalTitle .s,
  .editHeadS,
  .modalSubtitle,
  .mhSub,
  .smallHint,
  .descHint,
  .qaHint,
  .catHint,
  .repairNote,
  .repairPriceBox__hint,
  .repairPriceBox__label,
  .ilc-modal__sub,
  .ilc-kpi__k,
  .usrInactiveMail,
  .doneLabel,
  .field .k,
  .repairBlock__label,
  .ilc-section__title
) {
  color: var(--ticket-light-muted) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(
  .field,
  .confirmBody,
  .doneMini,
  .doneRight,
  .doneBottomLeft,
  .doneBottomRight,
  .repairCard,
  .repairPriceBox,
  .catBlock,
  .catInner,
  .catResult,
  .catSideBtn,
  .catRegies,
  .catResigned,
  .catClientsBox,
  .catKv,
  .catCadBox,
  .listBox,
  .listRow,
  .usrInactiveRow,
  .usrEmptyState,
  .sigBox,
  .ilc-kpi,
  .ilc-note,
  .ilc-pillRight,
  .seg,
  .qaBtn,
  .monthsList,
  .mItem,
  .cgu-box
) {
  border-color: var(--ticket-light-line) !important;
  background: #fff !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
  select,
  textarea
) {
  border-color: #bfd2bb !important;
  background: #fff !important;
  color: var(--ticket-light-ink) !important;
  color-scheme: light;
  box-shadow: inset 0 1px 0 rgba(0, 0, 0, .025);
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(input, textarea)::placeholder {
  color: #758078 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) select option {
  background: #fff !important;
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(.btn, button):not(.primary):not(.btn-primary):not(.btnPrimary):not(.btnAction):not(.danger):not(.btnDanger):not(.logout):not(.btn-logout) {
  border-color: #cfddcc !important;
  background: #f2f6f1 !important;
  color: var(--ticket-light-ink) !important;
  box-shadow: none !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(.btn, button):not(.primary):not(.btn-primary):not(.btnPrimary):not(.btnAction):not(.danger):not(.btnDanger):not(.logout):not(.btn-logout):hover {
  border-color: rgba(1, 167, 0, .34) !important;
  background: #eaf4e7 !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(
  .btn.primary,
  .btnPrimary,
  .btnAction
) {
  border-color: transparent !important;
  background: linear-gradient(120deg, #16d861, #01a700) !important;
  color: #04210b !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard :is(.modal, .modalCard, .ilc-modal) :is(
  .btn.danger,
  .btnDanger,
  .btnGhost.btnDanger,
  .iconBtn.danger
) {
  border-color: rgba(196, 44, 65, .28) !important;
  background: #fff1f3 !important;
  color: #a31f35 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.catTab, .usrTab) {
  border-color: #cfddcc !important;
  background: #fff !important;
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard :is(.catTab.active, .usrTab.active) {
  border-color: rgba(1, 167, 0, .30) !important;
  background: #eaf7e4 !important;
  color: #074c0c !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard #catReportContent {
  border-color: var(--ticket-light-line) !important;
  background: #fff !important;
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard .filters select,
html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard .filters .btn:not(.primary):not(.btn-primary):not(.danger):not(.logout):not(.btn-logout) {
  border-color: #cfddcc !important;
  background: #fff !important;
  color: var(--ticket-light-ink) !important;
  box-shadow: none !important;
  color-scheme: light;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .stats .chip {
  border-color: #d5e5d1 !important;
  background: #eef8ea !important;
  color: #17421c !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap {
  border-color: #cfe0cb !important;
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(30, 55, 35, .13) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .thead {
  border-color: #cfe0cb !important;
  background: linear-gradient(90deg, #e5f5df, #f4faf1) !important;
  color: #143c18 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tbody {
  background: #fff !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row {
  border-color: #e0e9de !important;
  background: #fff !important;
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row:hover {
  background: #f0f9ed !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-p1 { background: #fff5f5 !important; }
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-p2 { background: #fff8ee !important; }
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-p3 { background: #fffbed !important; }
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-running { background: #f5f7f8 !important; }
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-repair { background: #fff4fa !important; }
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-commande { background: #f8f4ff !important; }
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-pending { background: #f1f6ff !important; }
html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.type-done { background: #f1faf2 !important; }

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.selected {
  outline: 1px solid rgba(22, 163, 74, .55) !important;
  outline-offset: -1px !important;
  background: #e6f7e1 !important;
  box-shadow: inset 3px 0 0 #01a700 !important;
  transform: none !important;
  filter: none !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .row.selected::after {
  border-color: rgba(22, 163, 74, .38) !important;
  background: #edf9ea !important;
  color: #166534 !important;
  box-shadow: none !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .cell {
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .cell.muted {
  color: var(--ticket-light-muted) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .groupSep {
  border-color: #cfe0cb !important;
  background: #e4f4df !important;
  color: #15551a !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap :is(.prioPill, .status, .idBadge) {
  box-shadow: none !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .p1 {
  border-color: #e8a2a2 !important;
  background: #fff0f0 !important;
  color: #991b1b !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .p2 {
  border-color: #e7b676 !important;
  background: #fff5e8 !important;
  color: #92400e !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .p3 {
  border-color: #dcc45a !important;
  background: #fff9df !important;
  color: #765d00 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap :is(.p-done, .st-done) {
  border-color: #8bc69a !important;
  background: #eaf8ed !important;
  color: #166534 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap :is(.p-running, .st-running) {
  border-color: #b7c0c9 !important;
  background: #eef1f4 !important;
  color: #334155 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .st-new {
  border-color: #e4ac87 !important;
  background: #fff1e8 !important;
  color: #9a3412 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap :is(.p-pending, .st-pending) {
  border-color: #9eb7e8 !important;
  background: #edf3ff !important;
  color: #1e40af !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .p-repair {
  border-color: #dfa0bf !important;
  background: #fcecf4 !important;
  color: #9d174d !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .p-commande {
  border-color: #b8a1e8 !important;
  background: #f3edff !important;
  color: #5b21b6 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .idBadge.repair {
  border-color: #dfa0bf !important;
  background: #fcecf4 !important;
  color: #9d174d !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .idBadge.commande {
  border-color: #b8a1e8 !important;
  background: #f3edff !important;
  color: #5b21b6 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .idBadge.pending {
  border-color: #9eb7e8 !important;
  background: #edf3ff !important;
  color: #1e40af !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .idBadge.cat {
  border-color: #8bc69a !important;
  background: #eaf8ed !important;
  color: #166534 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .tableWrap .idBadge.bl {
  border-color: #aaa7e6 !important;
  background: #f0efff !important;
  color: #3730a3 !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast {
  border-color: rgba(22, 163, 74, .26) !important;
  background: linear-gradient(145deg, #fff, #f4f8f3) !important;
  color: var(--ticket-light-ink) !important;
  box-shadow: 0 18px 48px rgba(23, 42, 28, .18) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast .tTitle {
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast .tMsg {
  color: var(--ticket-light-muted) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast :is(.tIco, .tClose) {
  border-color: #d6e4d3 !important;
  background: #f3f7f2 !important;
  color: var(--ticket-light-ink) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast.success {
  border-color: rgba(22, 163, 74, .34) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast.info {
  border-color: rgba(37, 99, 235, .26) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast.warn {
  border-color: rgba(217, 119, 6, .34) !important;
}

html[data-theme="light"] body.ilc-ticketing.ilc-dashboard .toastHost .toast.error {
  border-color: rgba(220, 38, 38, .34) !important;
}

/* Ticketing light choices ------------------------------------------------
   Radios such as the repair segments are visually hidden, so checked and
   keyboard-focus states must be reflected by their visible labels. */
html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard .radioPills .pillOpt {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #cfddcc;
  border-radius: 14px;
  background: #fff;
  color: var(--ticket-light-ink) !important;
  font-weight: 850;
  cursor: pointer;
  user-select: none;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard :is(
  .seg,
  .radioPills .pill,
  .radioPills .pillOpt,
  .doneRadio,
  .mItem,
  .chk,
  .x2
):has(> input:checked) {
  border-color: var(--ticket-choice-border) !important;
  border-radius: 12px;
  background: linear-gradient(135deg, #f1fbee, var(--ticket-choice-bg)) !important;
  color: var(--ticket-choice-ink) !important;
  box-shadow:
    inset 0 0 0 1px var(--ticket-choice-border),
    0 0 0 3px var(--ticket-choice-ring),
    0 8px 18px rgba(3, 93, 3, .10) !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard :is(
  .seg,
  .radioPills .pill,
  .radioPills .pillOpt,
  .doneRadio,
  .mItem,
  .chk,
  .x2
):has(> input:checked) > span {
  color: var(--ticket-choice-ink) !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard :is(
  .seg,
  .radioPills .pill,
  .radioPills .pillOpt,
  .doneRadio,
  .mItem,
  .chk,
  .x2
):has(> input:focus-visible) {
  outline: 2px solid var(--ticket-choice-border) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(0, 139, 11, .15) !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard
#repairOverlay .seg:has(> input:checked)::after {
  content: "✓";
  position: absolute;
  top: 6px;
  right: 8px;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ticket-choice-border);
  color: #fff;
  font: 900 12px/1 var(--ilc-font);
  box-shadow: 0 3px 10px rgba(3, 93, 3, .20);
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard
:is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--ticket-choice-border) !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard
:is(input[type="checkbox"], input[type="radio"]):focus-visible {
  outline: 2px solid var(--ticket-choice-border) !important;
  outline-offset: 2px !important;
}

html[data-theme="light"] body.ilc-app.ilc-ticketing.ilc-dashboard select option:checked {
  background: var(--ticket-choice-bg) !important;
  color: var(--ticket-choice-ink) !important;
  font-weight: 800;
}

/* Compliance ------------------------------------------------------------- */
.ilc-compliance.ilc-auth .authWrap {
  display: grid;
  place-items: center;
  padding: 46px 18px;
}

.ilc-compliance.ilc-auth .authCard {
  width: min(560px, 100%);
  padding: clamp(24px, 5vw, 42px) !important;
  border-top: 5px solid var(--ilc-green-bright) !important;
}

.ilc-compliance.ilc-auth .authHeader { text-align: left; }
.ilc-compliance.ilc-auth .authHeader > div[style] { align-items: center !important; }
.ilc-compliance.ilc-auth .brandLogo { width: 132px !important; height: 54px !important; border: 0 !important; }
.ilc-compliance.ilc-auth .actions { gap: 10px; }
.ilc-compliance.ilc-auth .actions .btn { width: 100%; justify-content: center; }

.ilc-compliance.ilc-dashboard .brandLogo { width: 96px !important; height: 48px !important; }
.ilc-compliance.ilc-dashboard .topbar img.brandLogo {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.ilc-compliance.ilc-dashboard .wrap {
  width: calc(100% - 32px);
  max-width: 1700px;
  margin-inline: auto;
  padding: 0 0 30px;
}
.ilc-compliance.ilc-dashboard .panel { padding: 16px; }
.ilc-compliance.ilc-dashboard .tableWrap { max-height: calc(100dvh - 290px); }

/* Sharing explorer ------------------------------------------------------- */
.ilc-sharing.ilc-dashboard .layout { max-width: 1500px; margin: 0 auto; padding: 0 16px 34px; }
.ilc-sharing.ilc-dashboard .topbar .brand-logo { width: 96px; height: 52px; flex-basis: 96px; }
.ilc-sharing.ilc-dashboard .topbar .brand-logo-img { width: 96px !important; height: 52px !important; }
.ilc-sharing.ilc-dashboard .topbar .logo-ring { display: none; }
.ilc-sharing.ilc-dashboard .panel { padding: clamp(16px, 3vw, 28px); }
.ilc-sharing.ilc-dashboard .table-wrap { overflow: auto; }
.ilc-sharing.ilc-dashboard .file-table { color: var(--ilc-text); }
.ilc-sharing.ilc-dashboard .file-table th { color: var(--ilc-green-soft); }
.ilc-sharing.ilc-dashboard .file-table td { border-color: rgba(157, 224, 126, .12); }

/* BL / CAT --------------------------------------------------------------- */
.ilc-bl.ilc-auth .center { display: grid; place-items: center; padding: 46px 18px; }
.ilc-bl.ilc-auth .login-card { width: min(620px, 100%); padding: clamp(24px, 5vw, 42px) !important; border-top: 5px solid var(--ilc-green-bright) !important; }
.ilc-bl.ilc-auth .brand-logo { width: 132px !important; height: 58px !important; }
.ilc-bl.ilc-dashboard .topbar { max-width: 980px; }
.ilc-bl.ilc-dashboard .topbar img.top-logo {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}
.ilc-bl.ilc-dashboard .topbar a.btn.btn-logout {
  text-decoration: none !important;
}
.ilc-bl.ilc-dashboard .wrap { max-width: 980px; }
.ilc-bl.ilc-dashboard main .card { padding: clamp(18px, 3vw, 30px); }
.ilc-bl.ilc-dashboard .segitem,
.ilc-bl.ilc-dashboard .chkline {
  border-color: var(--ilc-line) !important;
  background: rgba(255, 255, 255, .04) !important;
}
.ilc-bl.ilc-dashboard .segitem:has(input:checked) {
  border-color: var(--ilc-green-bright) !important;
  background: rgba(22, 216, 97, .14) !important;
}

/* Stock ------------------------------------------------------------------ */
.ilc-stock.ilc-auth { overflow-y: auto !important; }
.ilc-stock.ilc-auth .wrap { height: auto !important; padding: 46px 18px !important; }
.ilc-stock.ilc-auth .card { width: min(1080px, 100%); }
.ilc-stock.ilc-auth .left,
.ilc-stock.ilc-auth .right { padding: clamp(22px, 4vw, 38px) !important; }
.ilc-stock.ilc-auth .left { border-color: var(--ilc-line) !important; }
.ilc-stock.ilc-auth .right .panel,
.ilc-stock.ilc-auth .mini {
  border-color: var(--ilc-line) !important;
  background: rgba(3, 16, 7, .40) !important;
}
.ilc-stock.ilc-auth .loginHero { width: min(300px, 90%) !important; height: 112px !important; }
.ilc-stock.ilc-dashboard .wrap { max-width: 1700px; }
.ilc-stock.ilc-dashboard .tableWrap { overflow: auto !important; }

.ilc-stock.ilc-dashboard .topbar .search {
  border-color: rgba(22, 216, 97, .38) !important;
  background:
    radial-gradient(320px 100px at 92% 0%, rgba(22, 216, 97, .14), transparent 72%),
    linear-gradient(145deg, rgba(25, 43, 29, .98), rgba(10, 20, 13, .98)) !important;
  color: var(--ilc-green-soft) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .04),
    0 10px 24px -18px rgba(22, 216, 97, .55) !important;
}

.ilc-stock.ilc-dashboard .topbar .search:focus-within {
  border-color: var(--ilc-green-bright) !important;
  box-shadow: 0 0 0 3px rgba(22, 216, 97, .13) !important;
}

.ilc-stock.ilc-dashboard .topbar .search input {
  min-height: 42px !important;
  padding: 0 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--ilc-text) !important;
  box-shadow: none !important;
}

.ilc-stock.ilc-dashboard .topbar .search input::placeholder {
  color: rgba(244, 248, 243, .58) !important;
}

/* Keep notifications below the fixed corporate strip. */
.ilc-stock.ilc-dashboard .toastHost {
  top: calc(var(--ilc-corporate-bar-height) + 12px) !important;
  right: max(12px, env(safe-area-inset-right)) !important;
}

/* Logout is the sole destructive action that keeps a persistent red glow. */
.ilc-dashboard .topbar #btnLogout.btn.logout,
.ilc-dashboard .topbar .btn.btn-logout,
.ilc-dashboard .topbar a.btn[href*="logout"] {
  border-color: rgba(230, 83, 103, .66) !important;
  background: linear-gradient(135deg, #dc4059, #a81731) !important;
  color: #fff !important;
  box-shadow:
    0 0 0 1px rgba(230, 83, 103, .16),
    0 0 22px rgba(230, 83, 103, .30),
    0 12px 24px -14px rgba(163, 23, 49, .92) !important;
}

.ilc-dashboard .topbar #btnLogout.btn.logout:hover,
.ilc-dashboard .topbar .btn.btn-logout:hover,
.ilc-dashboard .topbar a.btn[href*="logout"]:hover {
  border-color: #ff8194 !important;
  background: linear-gradient(135deg, #ed5870, #bc1d3a) !important;
  box-shadow:
    0 0 0 2px rgba(230, 83, 103, .16),
    0 0 30px rgba(230, 83, 103, .44),
    0 16px 30px -14px rgba(163, 23, 49, .96) !important;
}

/* Legal document --------------------------------------------------------- */
.ilc-document .wrap { max-width: 1040px !important; margin: 0 auto !important; padding: 46px 16px !important; }
.ilc-document .card {
  overflow: hidden;
  border: 1px solid var(--ilc-line) !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, rgba(25, 43, 29, .96), rgba(10, 20, 13, .96)) !important;
  box-shadow: var(--ilc-shadow) !important;
}
.ilc-document .head { padding: 24px !important; border-bottom-color: var(--ilc-line) !important; background: rgba(3, 93, 3, .18); }
.ilc-document .ilc-document-title { display: flex; align-items: center; gap: 16px; min-width: 0; }
.ilc-document .ilc-document-logo { width: 104px; height: 50px; object-fit: contain; flex: 0 0 auto; }
.ilc-document .body { padding: clamp(22px, 4vw, 40px) !important; font-size: 15px !important; line-height: 1.72 !important; }
.ilc-document .body h2 { margin-top: 30px !important; color: var(--ilc-green-soft) !important; font-size: 18px !important; }
.ilc-document .body h3 { color: #d8f2d2 !important; }
.ilc-document .foot { padding: 18px 24px !important; border-top-color: var(--ilc-line) !important; }

/* Error pages ------------------------------------------------------------ */
.ilc-errors { display: grid !important; place-items: center; min-height: 100dvh !important; height: auto !important; padding: 72px 18px 34px !important; }
.ilc-errors .card {
  width: min(640px, 100%) !important;
  padding: clamp(26px, 6vw, 50px) !important;
  border: 1px solid var(--ilc-line) !important;
  border-top: 5px solid var(--ilc-green-bright) !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, rgba(25, 43, 29, .96), rgba(10, 20, 13, .96)) !important;
  box-shadow: var(--ilc-shadow), var(--ilc-shadow-glow) !important;
}
.ilc-errors .logo img { width: min(220px, 70%); height: auto; margin: 0 auto 18px; }
.ilc-errors h1 { color: var(--ilc-green-bright) !important; font-size: clamp(64px, 18vw, 110px) !important; line-height: .9; text-shadow: none !important; }
.ilc-errors h2 { color: #fff; font-size: clamp(21px, 5vw, 30px); }
.ilc-errors p { color: var(--ilc-muted) !important; }
.ilc-errors .btn { padding: 13px 24px; background: #fff !important; color: var(--ilc-green-dark) !important; }

@media (max-width: 1100px) {
  .ilc-dashboard .topbar {
    align-items: flex-start !important;
    flex-wrap: wrap !important;
  }

  .ilc-dashboard .topbar .brand,
  .ilc-dashboard .topbar .brandline,
  .ilc-dashboard .topbar .top-left { min-width: 0 !important; flex: 1 1 420px; }

  .ilc-dashboard .topbar .tools,
  .ilc-dashboard .topbar .top-actions,
  .ilc-dashboard .topbar .right {
    flex: 1 1 100%;
    width: 100%;
    justify-content: flex-start !important;
  }

  .ilc-dashboard .panelHead,
  .ilc-dashboard .panel-head { align-items: flex-start !important; flex-wrap: wrap !important; }

  .ilc-dashboard .toolbar { flex-wrap: wrap !important; }
}

@media (max-width: 900px) {
  .ilc-ticketing.ilc-auth .card,
  .ilc-dossier.ilc-auth .card,
  .ilc-stock.ilc-auth .card { grid-template-columns: 1fr !important; }

  .ilc-ticketing.ilc-auth .right,
  .ilc-dossier.ilc-auth .right,
  .ilc-stock.ilc-auth .right {
    border-left: 0 !important;
    border-top: 1px solid var(--ilc-line) !important;
  }

  .ilc-dashboard .topbar {
    position: relative !important;
    top: auto !important;
    width: calc(100% - 24px);
    margin: 12px auto 16px;
  }

  .ilc-dashboard .topbar .tools,
  .ilc-dashboard .topbar .top-actions,
  .ilc-dashboard .toolbar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .ilc-dashboard .topbar .search,
  .ilc-dashboard .topbar .brand,
  .ilc-dashboard .topbar .brandline,
  .ilc-dashboard .topbar .top-left { grid-column: 1 / -1; }

  .ilc-dashboard .topbar .btn,
  .ilc-dashboard .topbar button,
  .ilc-dashboard .topbar a.btn,
  .ilc-dashboard .toolbar .btn,
  .ilc-dashboard .toolbar button,
  .ilc-dashboard .toolbar label.btn {
    width: 100%;
    min-width: 0;
    white-space: normal !important;
    text-align: center;
    justify-content: center;
  }

  .ilc-dashboard .filters,
  .ilc-dashboard .stats,
  .ilc-dashboard .filterGroup { flex-wrap: wrap !important; }

  .ilc-dashboard .modalOverlay,
  .ilc-dashboard .overlay,
  .ilc-dashboard .ilc-overlay,
  .ilc-dashboard .app-modal { padding: 8px !important; }

  .ilc-dashboard .modal,
  .ilc-dashboard .modalCard,
  .ilc-dashboard .ilc-modal,
  .ilc-dashboard .app-modal-dialog {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - 54px) !important;
    border-radius: 20px !important;
  }

  .ilc-dashboard .modalBody,
  .ilc-dashboard .modal-body,
  .ilc-dashboard .ilc-modal__body { overflow-y: auto !important; }

  .ilc-ticketing.ilc-dashboard .tableWrap,
  .ilc-stock.ilc-dashboard .tableWrap {
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .ilc-compliance.ilc-dashboard .tableWrap { max-height: none; overflow: visible !important; }

  /* Compliance keeps one DOM/table: rows become readable cards on mobile. */
  .ilc-compliance.ilc-dashboard table.grid,
  .ilc-compliance.ilc-dashboard table.grid tbody { display: block; width: 100%; min-width: 0 !important; }
  .ilc-compliance.ilc-dashboard table.grid thead { display: none; }
  .ilc-compliance.ilc-dashboard table.grid tbody { display: grid; gap: 12px; }
  .ilc-compliance.ilc-dashboard table.grid tr[data-id] {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--ilc-line) !important;
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
  }
  .ilc-compliance.ilc-dashboard table.grid tr[data-id] td.cell {
    display: grid;
    grid-template-columns: minmax(112px, 36%) minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    width: 100% !important;
    min-height: 48px;
    padding: 11px 13px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(157, 224, 126, .10) !important;
    white-space: normal !important;
  }
  .ilc-compliance.ilc-dashboard table.grid tr[data-id] td.cell:last-child { border-bottom: 0 !important; }
  .ilc-compliance.ilc-dashboard td.cell::before {
    color: var(--ilc-green-soft);
    font: 700 11px/1.25 var(--ilc-display);
    letter-spacing: .045em;
    text-transform: uppercase;
  }
  .ilc-compliance.ilc-dashboard td[data-field="_drag"]::before { content: "Déplacer"; }
  .ilc-compliance.ilc-dashboard td[data-field="client"]::before { content: "Client / machine"; }
  .ilc-compliance.ilc-dashboard td[data-field="technicien_ref"]::before { content: "Technicien"; }
  .ilc-compliance.ilc-dashboard td[data-field="idpass"]::before { content: "Accès"; }
  .ilc-compliance.ilc-dashboard td[data-field="a_verifier"]::before { content: "À vérifier"; }
  .ilc-compliance.ilc-dashboard td[data-field="problemes"]::before { content: "Problèmes"; }
  .ilc-compliance.ilc-dashboard tr.groupHeader { display: block; }
  .ilc-compliance.ilc-dashboard tr.groupHeader > td { display: block; width: 100%; padding: 12px !important; }
  .ilc-compliance.ilc-dashboard .groupHeaderInner { flex-wrap: wrap; gap: 8px; }

  /* Sharing table becomes stacked cards, actions stay immediately visible. */
  .ilc-sharing.ilc-dashboard .file-table,
  .ilc-sharing.ilc-dashboard .file-table tbody { display: block; width: 100%; min-width: 0 !important; }
  .ilc-sharing.ilc-dashboard .file-table thead { display: none; }
  .ilc-sharing.ilc-dashboard .file-table tbody { display: grid; gap: 12px; }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--ilc-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
  }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    padding: 11px 13px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(157, 224, 126, .10) !important;
    white-space: normal !important;
  }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td:last-child { border-bottom: 0 !important; }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td::before {
    color: var(--ilc-green-soft);
    font: 700 11px/1.25 var(--ilc-display);
    letter-spacing: .045em;
    text-transform: uppercase;
  }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td:nth-child(1)::before { content: "Nom"; }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td:nth-child(2)::before { content: "Type"; }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td:nth-child(3)::before { content: "Taille"; }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td:nth-child(4)::before { content: "Modifié"; }
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td:nth-child(5)::before { content: "Actions"; }
  .ilc-sharing.ilc-dashboard .row-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ilc-sharing.ilc-dashboard .row-actions .btn { width: 100%; white-space: normal; }
  .ilc-sharing.ilc-dashboard .upload-progress-wrap { min-width: 0 !important; width: 100%; }
}

@media (max-width: 680px) {
  body.ilc-app {
    padding-top: 34px !important;
    background-attachment: scroll !important;
  }

  body.ilc-app::after {
    content: "ILC · Applications métiers";
    height: 34px;
    padding-inline: 14px;
    font-size: 11px;
  }

  .ilc-auth .login-shell,
  .ilc-auth .authWrap,
  .ilc-auth .center,
  .ilc-auth > .wrap { min-height: calc(100vh - 34px) !important; }

  .ilc-auth .login-card,
  .ilc-auth .authCard,
  .ilc-auth .card { border-radius: 20px !important; }

  .ilc-sharing .login-shell { padding: 22px 14px; }
  .ilc-sharing .login-card { padding: 24px 20px; }
  .ilc-sharing .brand { align-items: flex-start; gap: 14px; }
  .ilc-sharing .brand-logo,
  .ilc-sharing .brand-logo-img { width: 72px; height: 58px; flex-basis: 72px; }
  .ilc-sharing .brand p { font-size: 13px; }

  .ilc-ticketing.ilc-auth .wrap,
  .ilc-dossier.ilc-auth .wrap,
  .ilc-stock.ilc-auth .wrap { padding: 18px 12px !important; }

  .ilc-ticketing.ilc-auth .topline,
  .ilc-dossier.ilc-auth .topline { align-items: flex-start; flex-direction: column; gap: 8px; }

  .ilc-ticketing.ilc-auth .topline .brand,
  .ilc-dossier.ilc-auth .topline .brand { font-size: 10px !important; line-height: 1.4; }

  .ilc-ticketing.ilc-auth .pane,
  .ilc-ticketing.ilc-auth .right,
  .ilc-dossier.ilc-auth .pane,
  .ilc-dossier.ilc-auth .right,
  .ilc-stock.ilc-auth .left,
  .ilc-stock.ilc-auth .right { padding: 22px 18px !important; }

  .ilc-ticketing.ilc-auth .logoBox,
  .ilc-dossier.ilc-auth .logoBox { min-height: 150px !important; }

  .ilc-dashboard .topbar { width: calc(100% - 16px); padding: 12px !important; border-radius: 16px !important; }
  .ilc-dashboard .topbar .brand,
  .ilc-dashboard .topbar .brandline,
  .ilc-dashboard .topbar .top-left { align-items: center; flex-basis: 100%; }
  .ilc-dashboard .topbar img.brand-logo-img,
  .ilc-dashboard .topbar img.brandLogo,
  .ilc-dashboard .topbar img.top-logo,
  .ilc-dashboard .topbar .logo img { width: 76px !important; height: 42px !important; }
  .ilc-dashboard .topbar .logo { width: 82px !important; height: 48px !important; }
  .ilc-dashboard .topbar h1 { font-size: 19px !important; }

  .ilc-dashboard .filters,
  .ilc-dashboard .filterGroup,
  .ilc-dashboard .stats { display: grid !important; grid-template-columns: 1fr; width: 100%; }
  .ilc-dashboard .filters > *,
  .ilc-dashboard .filterGroup > *,
  .ilc-dashboard .stats > * { width: 100%; }

  .ilc-dashboard .modalHeader,
  .ilc-dashboard .modalFooter,
  .ilc-dashboard .modalHead,
  .ilc-dashboard .modalFoot,
  .ilc-dashboard .app-modal-head { padding: 13px !important; }

  .ilc-dashboard .modalBody,
  .ilc-dashboard .modal-body,
  .ilc-dashboard .ilc-modal__body { padding: 14px !important; }

  .ilc-ticketing.ilc-dashboard #repairOverlay .repairCard {
    min-width: 0 !important;
    padding: 12px !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay :is(.fRow, .fRow--2 > div) {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay .fRow > *,
  .ilc-ticketing.ilc-dashboard #repairOverlay :is(.fRow input, .fRow select) {
    min-width: 0 !important;
    width: 100% !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay .segRow {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay .segRow > center {
    display: contents !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay .seg,
  .ilc-ticketing.ilc-dashboard #repairOverlay .chk {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay .checkGrid {
    justify-items: stretch !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay .repairActions {
    flex-direction: column !important;
  }

  .ilc-ticketing.ilc-dashboard #repairOverlay .repairActions > * {
    width: 100% !important;
  }

  .ilc-dashboard .modalFooter,
  .ilc-dashboard .modalFoot,
  .ilc-dashboard .app-modal-actions { flex-direction: column !important; }

  .ilc-dashboard .modalFooter .btn,
  .ilc-dashboard .modalFoot .btn,
  .ilc-dashboard .app-modal-actions .btn { width: 100%; }

  .ilc-bl.ilc-dashboard .actions { grid-template-columns: 1fr; }
  .ilc-bl.ilc-dashboard .topbar { align-items: flex-start !important; }
  .ilc-bl.ilc-dashboard .top-left { min-width: 0; }
  .ilc-bl.ilc-dashboard .top-title { white-space: normal; }

  .ilc-document .wrap { padding: 18px 10px !important; }
  .ilc-document .head,
  .ilc-document .foot { padding: 18px !important; }
  .ilc-document .body { padding: 20px 18px !important; }
}

@media (max-width: 520px) {
  .ilc-ticketing.ilc-dashboard .editLogo {
    width: 72px !important;
    height: 44px !important;
    flex-basis: 72px !important;
  }

  .ilc-document .ilc-document-title { align-items: flex-start; flex-direction: column; }
  .ilc-document .ilc-document-logo { width: 92px; height: 44px; }

  .ilc-bl.ilc-auth .brand {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .ilc-dashboard .topbar .tools,
  .ilc-dashboard .topbar .top-actions,
  .ilc-dashboard .toolbar { grid-template-columns: 1fr; }

  .ilc-dashboard .topbar .search { grid-column: auto; }
  .ilc-dashboard .topbar .brandText .t2,
  .ilc-dashboard .topbar .header-sub,
  .ilc-dashboard .topbar .sub { font-size: 11px !important; }

  .ilc-compliance.ilc-dashboard table.grid tr[data-id] td.cell,
  .ilc-sharing.ilc-dashboard .file-table tr.item-row td { grid-template-columns: 1fr; gap: 5px; }
  .ilc-sharing.ilc-dashboard .row-actions { grid-template-columns: 1fr; }

  .ilc-compliance.ilc-auth .actions { display: grid; grid-template-columns: 1fr; }
  .ilc-errors { padding-inline: 12px !important; }
}

@media (prefers-reduced-motion: reduce) {
  .ilc-app *,
  .ilc-app *::before,
  .ilc-app *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
