/* Groupe Cruvelier - Phase 6 design system. Pure presentation/accessibility layer. */
:root{
 --gc-font:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --gc-bg:#f4f6f9;--gc-surface:#fff;--gc-soft:#f8fafc;--gc-text:#172033;--gc-muted:#5d6b80;
 --gc-border:#d9e1eb;--gc-border-strong:#bdc9d8;--gc-navy:#17243b;--gc-navy-2:#233654;
 --gc-navy-3:#31496f;--gc-gold:#d6aa24;--gc-danger:#b42318;--gc-danger-bg:#fff0ee;
 --gc-info:#175cd3;--gc-info-bg:#eef4ff;--gc-success:#157347;--gc-radius:16px;--gc-radius-sm:12px;
 --gc-shadow:0 8px 24px rgba(15,23,42,.08);--gc-shadow-lg:0 22px 60px rgba(15,23,42,.14);
 --gc-content:1440px;--gc-gutter:clamp(14px,2.6vw,30px);--pico-font-family:var(--gc-font);
 --pico-border-radius:var(--gc-radius-sm);--pico-primary:var(--gc-navy-2);--pico-primary-hover:var(--gc-navy);
 --pico-primary-focus:rgba(35,54,84,.20);--pico-muted-color:var(--gc-muted)
}
html{color-scheme:light}html.gc-ui-ready{scroll-behavior:smooth}
body.gc-ui{min-height:100vh;min-height:100dvh;margin:0;font-family:var(--gc-font)!important;color:var(--gc-text);background:var(--gc-bg);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.gc-ui *,body.gc-ui *:before,body.gc-ui *:after{box-sizing:border-box}body.gc-ui img,body.gc-ui svg,body.gc-ui video{max-width:100%}
body.gc-ui a{text-underline-offset:.18em}body.gc-ui :where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--gc-gold)!important;outline-offset:3px!important;box-shadow:0 0 0 4px rgba(214,170,36,.20)!important}
.gc-skip-link{position:fixed;z-index:99999;left:16px;top:12px;transform:translateY(-180%);padding:10px 15px;border-radius:10px;background:#fff;color:var(--gc-navy);border:2px solid var(--gc-gold);font-weight:800;box-shadow:var(--gc-shadow);transition:transform .16s ease}.gc-skip-link:focus{transform:translateY(0)}
body.gc-ui .container{width:min(calc(100% - (2 * var(--gc-gutter))),var(--gc-content));max-width:var(--gc-content)!important;margin-inline:auto}
body.gc-ui :where(h1,h2,h3,h4,h5,h6){font-family:var(--gc-font)!important;color:var(--gc-text);letter-spacing:-.018em;text-wrap:balance}body.gc-ui h1{font-size:clamp(1.85rem,2.9vw,2.65rem);line-height:1.12}body.gc-ui h2{font-size:clamp(1.4rem,2.1vw,2rem);line-height:1.18}body.gc-ui h3{font-size:clamp(1.08rem,1.45vw,1.32rem);line-height:1.25}
body.gc-ui :where(.muted,.sub,.desc,.help,.hint,.auth-desc,footer){color:var(--gc-muted)}
body.gc-ui :where(article.card,.card,.panel,.auth-card,.box,.section-card,.stat-card){border:1px solid var(--gc-border)!important;border-radius:var(--gc-radius)!important;background:var(--gc-surface)!important;box-shadow:var(--gc-shadow)!important;overflow-wrap:anywhere}
body.gc-ui .cards{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;gap:clamp(14px,2vw,22px)!important;align-items:stretch}body.gc-ui .cards>:where(article,.card){height:100%}body.gc-ui .cards>article.card{padding:clamp(18px,2vw,26px)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
@media(hover:hover) and (pointer:fine){body.gc-ui .cards>article.card:hover{transform:translateY(-2px);border-color:var(--gc-border-strong)!important;box-shadow:0 15px 38px rgba(15,23,42,.11)!important}}
body.gc-ui .card>:first-child{margin-top:0}body.gc-ui .card>:last-child{margin-bottom:0}
body.gc-ui :where(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){min-height:46px;border:1px solid var(--gc-border-strong)!important;border-radius:var(--gc-radius-sm)!important;background:#fff!important;color:var(--gc-text)!important;box-shadow:0 1px 2px rgba(15,23,42,.05)!important;transition:border-color .16s ease,box-shadow .16s ease}body.gc-ui :where(input,select,textarea)::placeholder{color:#8793a5;opacity:1}body.gc-ui :where(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--gc-navy-3)!important;box-shadow:0 0 0 4px rgba(49,73,111,.13)!important}body.gc-ui textarea{min-height:110px;resize:vertical}body.gc-ui label{font-weight:650;color:var(--gc-text)}body.gc-ui fieldset{border:1px solid var(--gc-border)!important;border-radius:var(--gc-radius)!important;padding:clamp(14px,2vw,22px)!important}body.gc-ui legend{font-weight:800;padding-inline:.45rem}
body.gc-ui :where(button,[role=button],input[type=submit],input[type=button],.gc-btn,.btn,.button){min-height:42px;border-radius:var(--gc-radius-sm)!important;font-weight:750!important;letter-spacing:-.006em;box-shadow:none;transition:transform .14s ease,box-shadow .14s ease,background .14s ease,border-color .14s ease}
body.gc-ui :where(button,[role=button],input[type=submit],.gc-btn):not(.secondary):not(.outline):not(.contrast):not(.danger){background:var(--gc-navy-2)!important;border-color:var(--gc-navy-2)!important;color:#fff!important}body.gc-ui :where(button,[role=button],input[type=submit],.gc-btn):not(.secondary):not(.outline):not(.contrast):not(.danger):hover{background:var(--gc-navy)!important;border-color:var(--gc-navy)!important;color:#fff!important;box-shadow:0 8px 20px rgba(23,36,59,.18)!important;transform:translateY(-1px)}body.gc-ui :where(.secondary,button.secondary,[role=button].secondary){background:#fff!important;border:1px solid var(--gc-border-strong)!important;color:var(--gc-navy)!important}body.gc-ui :where(.secondary,button.secondary,[role=button].secondary):hover{background:var(--gc-soft)!important}body.gc-ui :where(button.danger,.danger[role=button],.gc-btn.danger){background:var(--gc-danger)!important;border-color:var(--gc-danger)!important;color:#fff!important}body.gc-ui button[disabled],body.gc-ui [aria-disabled=true]{opacity:.58}
body.gc-ui :where(.alert,.notice,.flash,.message,[role=alert],[role=status]){border-radius:var(--gc-radius-sm)!important}body.gc-ui .alert,body.gc-ui [role=alert]{border:1px solid #f0b9b4!important;background:var(--gc-danger-bg)!important;color:#8f1f17!important}body.gc-ui .notice,body.gc-ui [role=status]{border:1px solid #bcd0f7!important;background:var(--gc-info-bg)!important;color:#174c9e!important}body.gc-ui :where(.badge,.pill,.chip,.tag,.state){border-radius:999px!important;font-weight:700}
body.gc-ui table{width:100%;border-collapse:separate;border-spacing:0;background:var(--gc-surface);color:var(--gc-text)}body.gc-ui :where(th,td){border-color:var(--gc-border)!important}body.gc-ui thead th{background:var(--gc-soft)!important;color:#35445b!important;font-size:.78rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase}@media(hover:hover) and (pointer:fine){body.gc-ui tbody tr:hover{background:#f8fafc}}body.gc-ui :where(.table-wrap,.table-scroll,.responsive-table){overflow-x:auto;overscroll-behavior-inline:contain;border-radius:var(--gc-radius);border:1px solid var(--gc-border);background:var(--gc-surface)}
body.gc-realm-admin,body.gc-realm-employee{background:linear-gradient(180deg,#f2f5f9 0,#f8fafc 240px,#f4f6f9 100%)}
body.gc-realm-admin header.hero,body.gc-realm-employee header.hero{position:sticky!important;top:0;z-index:100!important;margin:0 0 clamp(14px,2vw,24px)!important;padding:max(10px,env(safe-area-inset-top)) 0 8px!important;background:rgba(23,36,59,.97)!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.10)!important;box-shadow:0 10px 30px rgba(15,23,42,.18)!important;color:#fff!important;backdrop-filter:saturate(130%) blur(14px);-webkit-backdrop-filter:saturate(130%) blur(14px)}
body.gc-realm-admin header.hero .headerbar,body.gc-realm-employee header.hero .headerbar{min-height:58px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:0!important}body.gc-realm-admin header.hero .brand,body.gc-realm-employee header.hero .brand{min-width:0;display:flex;align-items:center;gap:11px}body.gc-realm-admin header.hero .brand :where(.logo,.logo-wrap .logo),body.gc-realm-employee header.hero .brand :where(.logo,.logo-wrap .logo){width:44px!important;height:44px!important;flex:0 0 44px;border:1px solid rgba(255,255,255,.20)!important;border-radius:14px!important;background:rgba(255,255,255,.08)!important;box-shadow:0 6px 18px rgba(0,0,0,.18)!important;overflow:hidden}body.gc-realm-admin header.hero .brand .logo img,body.gc-realm-employee header.hero .brand .logo img{width:100%;height:100%;object-fit:cover}
body.gc-realm-admin header.hero .title .t1,body.gc-realm-employee header.hero .title .t1{color:#fff!important;font-size:.98rem!important;font-weight:800!important}body.gc-realm-admin header.hero .title .t2,body.gc-realm-employee header.hero .title .t2{color:#bec9d9!important;font-size:.82rem!important;font-weight:560!important}body.gc-realm-admin header.hero .head-right,body.gc-realm-employee header.hero .head-right{gap:8px!important}
body.gc-realm-admin header.hero .tabs,body.gc-realm-employee header.hero .tabs{display:flex;gap:3px!important;align-items:center;padding:4px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:14px!important;background:rgba(255,255,255,.065)!important;box-shadow:none!important}body.gc-realm-admin header.hero .tabs a,body.gc-realm-employee header.hero .tabs a{min-height:38px;display:inline-flex!important;align-items:center;justify-content:center;padding:7px 11px!important;border-radius:10px!important;color:#dbe3ef!important;font-size:.88rem!important;font-weight:700!important;opacity:1!important;text-decoration:none!important}body.gc-realm-admin header.hero .tabs a:hover,body.gc-realm-employee header.hero .tabs a:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}body.gc-realm-admin header.hero .tabs a[aria-selected=true],body.gc-realm-admin header.hero .tabs a[aria-current=page],body.gc-realm-employee header.hero .tabs a[aria-selected=true],body.gc-realm-employee header.hero .tabs a[aria-current=page]{background:#fff!important;color:var(--gc-navy)!important;box-shadow:0 4px 14px rgba(0,0,0,.16)!important}
body.gc-realm-admin header.hero :where(.burger,.logout,.chip,.gc-context-switch button),body.gc-realm-employee header.hero :where(.burger,.logout,.chip,.gc-context-switch button){min-width:42px!important;height:42px!important;min-height:42px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:12px!important;background:rgba(255,255,255,.075)!important;color:#f8fafc!important;box-shadow:none!important}body.gc-realm-admin header.hero :where(.burger,.logout,.chip,.gc-context-switch button):hover,body.gc-realm-employee header.hero :where(.burger,.logout,.chip,.gc-context-switch button):hover{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.30)!important;transform:none}
body.gc-realm-admin header.hero .welcome-wrap,body.gc-realm-employee header.hero .welcome-wrap{padding:0!important}body.gc-realm-admin header.hero .welcome,body.gc-realm-employee header.hero .welcome{margin:2px 0 0!important;padding:5px 0 1px!important;color:#c9d4e3!important;font-size:.82rem!important;text-align:left!important}body.gc-realm-admin header.hero .welcome strong,body.gc-realm-employee header.hero .welcome strong{color:#fff!important}
body.gc-realm-admin .nav-sheet,body.gc-realm-employee .nav-sheet{border:1px solid #3a4a64!important;border-radius:16px!important;background:#17243b!important;box-shadow:var(--gc-shadow-lg)!important}body.gc-realm-admin .nav-sheet a,body.gc-realm-employee .nav-sheet a{color:#eef3f9!important;border-radius:10px!important}body.gc-realm-admin .nav-sheet a:hover,body.gc-realm-employee .nav-sheet a:hover{background:rgba(255,255,255,.09)!important}
body.gc-realm-admin main.container,body.gc-realm-employee main.container{padding-bottom:clamp(32px,5vw,70px)}body.gc-realm-admin footer,body.gc-realm-employee footer{color:#7b8798!important;font-size:.86rem!important}
body.gc-ui .gc-context-switch{margin:0!important;display:inline-flex}body.gc-ui .gc-context-switch input[type=hidden]{display:none}body.gc-ui .gc-context-switch button{width:auto!important;padding:0 11px!important;margin:0!important;font-size:.80rem!important;white-space:nowrap}
body.gc-realm-admin .page-wrap,body.gc-realm-employee .page-wrap{padding-top:clamp(24px,6vh,64px)!important}body.gc-realm-admin .login-layout,body.gc-realm-employee .login-layout{min-height:min(680px,calc(100dvh - 210px));display:grid!important;place-items:start center!important}body.gc-realm-admin .auth-card,body.gc-realm-employee .auth-card{width:min(100%,500px)!important;padding:clamp(24px,4vw,38px)!important;border-radius:22px!important;box-shadow:0 14px 38px rgba(15,23,42,.10)!important}body.gc-realm-admin .auth-card .actions>*,body.gc-realm-employee .auth-card .actions>*{width:100%}body.gc-realm-admin .auth-card .toggle-pass,body.gc-realm-employee .auth-card .toggle-pass{min-width:40px!important;min-height:40px!important;width:40px!important;height:40px!important;padding:0!important;background:transparent!important;border:0!important;color:var(--gc-muted)!important}
body.gc-realm-admin .cards article.card p,body.gc-realm-employee .cards article.card p{color:var(--gc-muted)}body.gc-realm-admin .cards article.card .btnrow,body.gc-realm-employee .cards article.card .btnrow{margin-top:auto;padding-top:10px}body.gc-ui :where(.filters-grid,.filters,.toolbar,.actions-bar,.controls){border-radius:var(--gc-radius)!important}body.gc-ui .filters-grid.card{padding:clamp(14px,2vw,20px)!important}body.gc-ui :where(dialog,.modal,.modal-card,.modal-panel){border-radius:22px!important;border-color:var(--gc-border)!important;box-shadow:var(--gc-shadow-lg)!important}body.gc-ui dialog::backdrop{background:rgba(12,20,33,.56);backdrop-filter:blur(3px)}
body.gc-realm-public{background:#fff}body.gc-realm-public :where(.navwrap,.topnav){backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}body.gc-realm-public :where(.btn-primary,.hero-btn.primary,.page-return){border-radius:999px!important;font-weight:800!important}body.gc-realm-public :where(.card,.market-card,.service-card,.feature-card){border-radius:22px!important}body.gc-realm-public :where(.section,.main-content,.page-body){scroll-margin-top:88px}
@media(prefers-reduced-motion:reduce){html.gc-ui-ready{scroll-behavior:auto}body.gc-ui *,body.gc-ui *:before,body.gc-ui *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(max-width:900px){:root{--gc-gutter:14px}body.gc-realm-admin header.hero .tabs,body.gc-realm-employee header.hero .tabs{display:none!important}body.gc-realm-admin header.hero .burger,body.gc-realm-employee header.hero .burger{display:inline-flex!important;align-items:center;justify-content:center}body.gc-realm-admin header.hero .welcome,body.gc-realm-employee header.hero .welcome{text-align:center!important;font-size:.78rem!important}body.gc-ui .gc-context-switch .gc-context-label{display:none}body.gc-ui .gc-context-switch button{width:42px!important;padding:0!important;font-size:0!important}body.gc-ui .gc-context-switch button:before{content:"⇄";font-size:20px}body.gc-ui .cards{grid-template-columns:1fr!important}body.gc-ui :where(.page-head,.toolbar,.actions-bar){align-items:stretch!important;flex-wrap:wrap!important}}
@media(max-width:560px){body.gc-realm-admin header.hero .brand .title .t2,body.gc-realm-employee header.hero .brand .title .t2{display:none}body.gc-realm-admin header.hero .brand :where(.logo,.logo-wrap .logo),body.gc-realm-employee header.hero .brand :where(.logo,.logo-wrap .logo){width:40px!important;height:40px!important;flex-basis:40px}body.gc-ui h1{font-size:1.72rem}body.gc-ui :where(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}}
@media print{body.gc-ui{background:#fff!important;color:#000!important}body.gc-ui .gc-skip-link,body.gc-realm-admin header.hero,body.gc-realm-employee header.hero,body.gc-ui .nav-sheet,body.gc-ui .burger,body.gc-ui .logout{display:none!important}body.gc-ui :where(.card,.panel,.auth-card){box-shadow:none!important}}
