@media (min-width:901px){
  .shell{align-items:start}
  .sidebar{position:sticky;top:0;width:auto;height:100vh;height:100dvh;padding:14px 12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6e696b transparent}
  .brand{margin:0 6px 12px;gap:9px;font-size:.82rem;line-height:1.1}
  .brand img{width:44px;height:44px;border-radius:11px}
  .nav-group{margin-bottom:7px}
  .nav-title{padding:0 11px 2px;font-size:.59rem;line-height:1.15}
  .nav a{padding:6px 11px;margin:0;font-size:.81rem;line-height:1.18}
}
.nav-loading .sidebar{visibility:hidden}
.back-button{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:750;text-decoration:none;box-shadow:0 4px 14px rgba(52,52,55,.05)}
.back-button:hover{border-color:var(--brand);color:var(--brand-dark);background:var(--brand-soft)}
button:not(.button):not(.icon-button):not(.row-remove):not(.button-link){border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 13px;border-radius:10px;font-weight:750;cursor:pointer}
button:not(.button):not(.icon-button):not(.row-remove):not(.button-link):hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-dark)}
.button-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dfc5c1;background:var(--brand-soft);color:var(--brand-dark);padding:7px 11px;border-radius:9px;font-weight:800;line-height:1.15;cursor:pointer;text-decoration:none;white-space:nowrap}.button-link:hover{border-color:var(--brand);background:#efd4d0}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.lines-table .row-actions,.lines-table td:last-child{white-space:nowrap}
#contract-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}#contract-status select{width:auto;min-width:170px;padding:9px 12px}#contract-status .button{padding:10px 14px}
.nav-mobile-toggle{display:none}
.nav-group .nav-title{display:flex;align-items:center;gap:9px;color:#bbb5b7;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.nav-group .nav-title span:nth-child(2){flex:1}
.nav-group .nav-title:hover,.nav-group[open] .nav-title{color:#fff}
.nav-icon{display:block;width:17px;height:17px;flex:none;stroke:currentColor;overflow:visible}
.nav-title .nav-icon{width:15px;height:15px;opacity:.82}
.nav-group-links a{display:flex;align-items:center;gap:10px;min-height:32px;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-group-links a .nav-icon{opacity:.72;transition:opacity .16s ease,transform .16s ease}
.nav-group-links a:hover .nav-icon,.nav-group-links a.active .nav-icon{opacity:1;transform:scale(1.06)}
.nav-group-links a.active{box-shadow:inset 3px 0 0 #f6d6ce}
.nav-account a,.nav-account button{display:flex!important;align-items:center;gap:10px}
.nav-account .nav-icon{width:17px;height:17px}
.nav-group summary:focus-visible,.nav-group-links a:focus-visible,.nav-account a:focus-visible,.nav-account button:focus-visible,.nav-mobile-toggle:focus-visible{outline:2px solid #f6d6ce;outline-offset:2px}
.nav-group summary{list-style:none;cursor:pointer;user-select:none}.nav-group summary::-webkit-details-marker{display:none}.nav-title{display:flex;align-items:center;justify-content:space-between}.nav-chevron{font-size:1rem;line-height:1;transition:transform .16s ease}.nav-group[open] .nav-chevron{transform:rotate(90deg)}.nav-group:not([open]){margin-bottom:5px}.nav-group:not([open]) .nav-title:hover{color:#fff}.nav-group-links{animation:nav-reveal .14s ease}@keyframes nav-reveal{from{opacity:.35;transform:translateY(-3px)}to{opacity:1;transform:none}}
@media(max-width:900px){
  .sidebar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;min-height:72px;box-shadow:0 8px 24px rgba(28,26,27,.16)}
  .sidebar .brand{flex:1}.sidebar .nav{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 72px);overflow-y:auto;padding:10px 14px 20px;background:#3d3b3d;border-top:1px solid #ffffff18;box-shadow:0 20px 34px rgba(28,26,27,.26)}.sidebar.nav-open .nav{display:block}
  .nav-mobile-toggle{display:grid;gap:4px;width:44px;height:44px;place-content:center;padding:0!important;border:1px solid #ffffff25!important;background:#ffffff10!important;border-radius:11px!important}.nav-mobile-toggle span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:.18s ease}.sidebar.nav-open .nav-mobile-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}.sidebar.nav-open .nav-mobile-toggle span:nth-child(2){opacity:0}.sidebar.nav-open .nav-mobile-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .sidebar .nav-title{padding:10px 12px 6px}.sidebar .nav a{padding:10px 12px}
}
/* Navigation d'espace de travail : accès fréquents, métiers, puis compte. */
@media (min-width:901px){
  .shell{grid-template-columns:264px minmax(0,1fr)}
  .sidebar{width:264px;padding:22px 14px 16px;background:#343234;box-shadow:8px 0 30px rgba(31,28,29,.08)}
  .sidebar .brand{margin:0 8px 22px;font-size:.87rem;letter-spacing:.025em}
  .sidebar .brand img{width:46px;height:46px}
  .nav-group{margin:2px 0}
  .nav-group .nav-title{padding:11px 10px;font-size:.79rem;line-height:1.25}
  .nav-group-links{padding:1px 0 7px 10px}
  .nav-group-links a{min-height:37px}
  .sidebar .nav a{padding:9px 11px;font-size:.84rem;line-height:1.25}
}
.nav-section-label{padding:0 12px;margin:17px 0 8px;color:#b8adb0;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nav-section-label--groups{margin-top:22px}
.nav-search{display:flex!important;align-items:center;gap:11px;min-height:42px;margin:0 1px 13px!important;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);color:#f4eeed!important}
.nav-search{padding:0 10px;border-radius:10px}
.nav-search .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nav-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font:inherit;font-size:.84rem}
.nav-search input::placeholder{color:#d0c5c7;opacity:1}
.nav-search button{border:0;background:transparent;color:#d0c5c7;font:inherit;font-size:1.1rem;cursor:pointer;padding:2px 0 2px 6px}
.nav-search:focus-within{border-color:#f6d6ce;box-shadow:0 0 0 2px rgba(246,214,206,.2)}
.nav-shortcuts{padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.13)}
.nav-shortcut{display:flex!important;align-items:center;gap:11px;min-height:39px;font-weight:670}
.nav-shortcut.active,.nav-group-links a.active,.nav-account a.active{background:#bd6257!important;color:#fff!important;box-shadow:none!important}
.nav-group .nav-title{border-radius:10px;color:#e1d9da;font-weight:690;letter-spacing:0;text-transform:none}
.nav-group .nav-title:hover,.nav-group[open] .nav-title{background:rgba(255,255,255,.07)}
.nav-group[open] .nav-title{color:#fff}
.nav-group .nav-chevron{font-size:1.15rem;color:#b5aaac}
.nav-group-links a{color:#d4cbcd}
.nav-group-links a:hover,.nav-shortcut:hover,.nav-account a:hover{background:rgba(255,255,255,.095)}
.nav-account{margin-top:20px;padding:12px 1px 0!important;border-top:1px solid rgba(255,255,255,.15)}
.nav-account .nav-section-label{margin-top:4px}
.nav-account a,.nav-account button{min-height:38px;border:0!important;border-radius:10px!important;background:transparent!important;color:#ded4d6!important;font-size:.82rem!important;font-weight:650!important}
.nav-account button:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
.nav-group summary:focus-visible,.nav-search:focus-visible,.nav-shortcut:focus-visible{outline:2px solid #f6d6ce;outline-offset:2px}
@media(max-width:900px){
  .sidebar .nav-search{padding:10px 12px}
  .nav-shortcuts{padding-bottom:8px}
  .sidebar .nav-shortcut,.sidebar .nav-group-links a{padding:10px 12px}
  .nav-account{margin-top:12px}
}

/* PMC_SEARCH_UI_20261020 */
.sidebar .nav-search{display:flex!important;align-items:center!important;gap:9px!important;width:100%!important;min-width:0!important;min-height:42px!important;margin:0 0 13px!important;padding:0 10px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important;background:rgba(255,255,255,.055)!important;color:#f4eeed!important}
.sidebar .nav-search .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sidebar .nav-search .nav-icon{width:17px!important;height:17px!important;flex:none!important}
.sidebar .nav-search input{flex:1 1 auto!important;min-width:0!important;width:0!important;height:40px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;color:#fff!important;font-size:.84rem!important}
.sidebar .nav-search input::placeholder{color:#d0c5c7!important;opacity:1!important}
.sidebar .nav-search button{display:grid!important;place-items:center!important;flex:none!important;width:30px!important;height:30px!important;margin:0!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#e5d9dc!important;font-size:1.1rem!important;cursor:pointer!important}
.sidebar .nav-search button:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}
.sidebar .nav-search:focus-within{border-color:#f6d6ce!important;box-shadow:0 0 0 2px rgba(246,214,206,.2)!important}

/* Shared admin layout for phones and small tablets. */
.main > *, .card, .table-wrap {min-width:0}
.table-wrap {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.table-wrap table {width:100%}
@media(max-width:900px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .sidebar{padding:10px 16px;min-height:64px;overflow:visible}
  .sidebar .brand{min-width:0;margin:0;display:flex;align-items:center;gap:9px}
  .sidebar .brand img{width:40px;height:40px;flex:none}
  .sidebar .nav{max-height:calc(100dvh - 64px);overscroll-behavior:contain}
  .main{width:100%;min-width:0;padding:20px 16px 40px}
  .main .card{max-width:100%}
  .main img,.main iframe{max-width:100%}
  .main .topbar,.main .section-heading,.main .quality-heading{flex-wrap:wrap}
  .main .row-actions,.main .access-actions{justify-content:flex-start}
  dialog{max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow-y:auto}
}
@media(max-width:650px){
  .main{padding:16px 12px 32px}
  .main .card{padding:16px}
  .main h1{font-size:clamp(1.5rem,7vw,2rem);overflow-wrap:anywhere}
  .main h2{overflow-wrap:anywhere}
  .main .filters form,.main form.filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .main .filters form > *,.main form.filters > *{min-width:0;max-width:100%}
  .main .filters form > button,.main form.filters > button{width:100%}
  .main .form-grid,.main .check-grid{grid-template-columns:minmax(0,1fr)}
  .main .form-grid > *{min-width:0;grid-column:auto}
  .main .section-heading,.main .split-record,.main .access-card{align-items:stretch}
  .main .dialog-actions{flex-wrap:wrap}
  .main .dialog-actions .button{flex:1 1 130px}
  dialog .section-heading,dialog .dialog-head{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:10px}
  dialog .section-heading > :first-child,dialog .dialog-head > :first-child{min-width:0}
  dialog .icon-button{flex:none;width:40px;height:40px}
  .table-wrap{margin-inline:-4px;padding-inline:4px}
  .table-wrap table{min-width:640px}
  .main input,.main select,.main textarea{max-width:100%;font-size:16px}
}
