@import url('medata_v4.css?v=4.0.0');

:root{
  --navy:#0f2744;
  --navy-deep:#081729;
  --navy-soft:#eef5fc;
  --navy-accent:#2563eb;
  --orange:#f97316;
  --orange-dark:#ea580c;
  --ink:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --panel:#ffffff;
  --bg:#f8fafc;
  --success:#16a34a;
  --success-bg:#f0fdf4;
  --warning:#d97706;
  --warning-bg:#fffbeb;
  --danger:#dc2626;
  --danger-bg:#fef2f2;
  --shadow:0 4px 20px -2px rgba(15,23,42,0.06), 0 2px 6px -1px rgba(15,23,42,0.04);
  --shadow-lg:0 12px 32px -4px rgba(15,23,42,0.10);
  --radius:16px;
}
*{box-sizing:border-box}
html{min-height:100%}
body{margin:0;min-height:100%;font-family:'Plus Jakarta Sans',Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--navy-accent);text-decoration:none;transition:color .15s ease}
a:hover{color:var(--orange-dark)}
:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:2px}
button,input,select,textarea{font:inherit}
.topbar{height:76px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 28px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 14px rgba(15,23,42,.03)}
.topbar-left,.top-actions,.user-chip{display:flex;align-items:center}
.topbar-left{gap:16px}.top-actions{gap:18px}.user-chip{gap:9px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#ffffff;box-shadow:0 1px 3px rgba(0,0,0,0.03)}
.brand{display:flex;flex-direction:column;line-height:1}.brand-word{font-size:25px;letter-spacing:3px;font-weight:900;color:var(--navy)}.brand-sub{margin-top:5px;font-size:11px;font-weight:800;letter-spacing:0.8px;color:var(--orange)}
.user-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#1e3a8a);color:#fff;font-weight:800;box-shadow:0 2px 6px rgba(15,23,42,.15)}.user-meta{display:flex;flex-direction:column;line-height:1.2}.user-meta strong{font-size:13px;font-weight:800}.user-meta small{color:var(--muted);font-size:11px}.top-action,.logout-link{font-weight:750;font-size:13px}.notification-link{display:flex;align-items:center;gap:7px}.notification-link b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--orange);color:#fff;font-size:11px;font-weight:900}.logout-link{color:var(--danger)}
.menu-toggle{display:none;border:0;background:var(--navy);color:#fff;width:38px;height:38px;border-radius:9px;cursor:pointer}
.layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 76px)}.layout-public{display:block}.sidebar{position:sticky;top:76px;height:calc(100vh - 76px);background:linear-gradient(180deg,var(--navy) 0%,var(--navy-deep) 100%);z-index:40;border-right:1px solid rgba(255,255,255,.06)}.sidebar-scroll{height:100%;overflow-y:auto;padding:20px 16px 32px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.sidebar-backdrop{display:none}.nav-title{margin:20px 12px 8px;color:#94a3b8;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:3px 0;border-radius:12px;color:#f1f5f9;font-weight:700;font-size:13.5px;transition:.18s ease}.nav-link:hover{background:rgba(255,255,255,.1);transform:translateX(3px)}.nav-link.active{background:#ffffff;color:var(--navy);box-shadow:0 8px 24px rgba(0,0,0,.15)}.nav-icon{flex:0 0 32px;height:32px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:10px;font-weight:900;letter-spacing:.02em}.nav-link.active .nav-icon{background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff}.nav-label{min-width:0}
.content{width:100%;max-width:1680px;padding:32px 36px 64px;margin:0 auto}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:0;font-size:29px;line-height:1.2;letter-spacing:-.03em;font-weight:900;color:var(--navy)}.page-heading p{margin:6px 0 0;color:var(--muted);max-width:900px;font-size:14px}
h2{font-size:19px;margin:0 0 14px;font-weight:850;color:var(--navy)}h3{font-size:16px;margin:0 0 10px;font-weight:800}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:22px;margin-bottom:20px;box-shadow:var(--shadow)}.card.flush{padding:0}.card-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.card-header h2{margin:0}.card-subtitle{color:var(--muted);font-size:13px}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{min-height:120px;position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-30px;bottom:-36px;width:110px;height:110px;border-radius:50%;background:var(--navy-soft)}.stat strong{position:relative;z-index:1;display:block;font-size:32px;line-height:1.1;color:var(--navy);margin-bottom:8px;font-weight:900}.stat span{position:relative;z-index:1;color:var(--muted);font-size:13px;font-weight:750}.stat small{display:block;margin-top:9px;color:var(--muted)}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.module-card{display:block;position:relative;min-height:175px;padding:22px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:.2s cubic-bezier(.16,1,.3,1)}.module-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#93c5fd}.module-card .module-code{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--navy);color:#fff;font-size:12px;font-weight:900;margin-bottom:17px}.module-card h3{font-size:18px;color:var(--ink)}.module-card p{color:var(--muted);font-size:13px;margin:0 0 18px}.module-card .module-meta{display:flex;gap:14px;font-size:12px;font-weight:750;color:var(--navy)}
.actions,.tabs,.sync-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px}.actions form{margin:0}.tabs{padding:5px;background:#e2e8f0;border-radius:14px;width:max-content;max-width:100%}.tabs a{padding:9px 14px;border-radius:10px;font-weight:800;font-size:13px;color:var(--muted);transition:.15s ease}.tabs a:hover,.tabs a.active{background:#fff;box-shadow:0 3px 12px rgba(15,23,42,.08);color:var(--orange-dark)}
button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 18px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--orange),var(--orange-dark));color:#fff;font-weight:850;font-size:13.5px;cursor:pointer;transition:.18s cubic-bezier(.16,1,.3,1);box-shadow:0 2px 8px rgba(234,88,12,.2)}.button:hover,button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(234,88,12,.3)}.secondary{background:var(--navy)!important;box-shadow:0 2px 8px rgba(15,39,68,.2)!important}.secondary:hover{background:var(--navy-deep)!important}.ghost{background:#f1f5f9!important;color:var(--navy)!important;box-shadow:none!important}.danger{background:var(--danger)!important;box-shadow:0 2px 8px rgba(220,38,38,.2)!important}.small{min-height:34px;padding:6px 12px;font-size:12px}.row-action{display:inline-flex;padding:7px 12px;border-radius:8px;background:var(--navy-soft);color:var(--navy);font-size:12px;font-weight:800;transition:.15s ease}.row-action:hover{background:var(--navy);color:#fff}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-section{grid-column:1/-1;padding-top:10px;border-top:1px solid var(--line)}.form-section:first-child{border-top:0}.form-section h2{margin:0 0 4px}.form-section p{margin:0;color:var(--muted)}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:750;color:#334155}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:var(--ink);outline:0;transition:.15s ease}input:focus,select:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15)}textarea{min-height:120px;resize:vertical}.field-help{color:var(--muted);font-size:11px;font-weight:500}.required:after{content:" *";color:var(--danger)}
.filters,.filter-bar{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,.6fr)) auto;gap:12px;align-items:end}.filters input{min-width:0}.filters .button{align-self:end}.filters.compact{grid-template-columns:minmax(240px,1fr) auto auto}
.table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:13px 16px;text-align:left;border-bottom:1px solid #f1f5f9;font-size:13px;white-space:nowrap}th{background:#f8fafc;color:#475569;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #e2e8f0}tbody tr:hover{background:#f8fafc}tbody tr:last-child td{border-bottom:0}.table-action-col{text-align:right}.empty-cell{text-align:center!important;color:var(--muted);padding:36px!important}
.badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11.5px;font-weight:800}.badge-ok{background:var(--success-bg);color:var(--success);border:1px solid #bbf7d0}.badge-bad{background:var(--danger-bg);color:var(--danger);border:1px solid #fecaca}.badge-warn{background:var(--warning-bg);color:var(--warning);border:1px solid #fde68a}
.alert{padding:13px 15px;border-radius:10px;margin-bottom:17px;border:1px solid transparent;font-weight:650}.success{background:var(--success-bg);color:var(--success);border-color:#caecda}.error{background:var(--danger-bg);color:var(--danger);border-color:#f4cccc}.warning{background:var(--warning-bg);color:var(--warning);border-color:#f3dfb9}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.detail-item{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe}.detail-item.wide{grid-column:1/-1}.detail-item span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}.detail-item strong,.detail-item div{display:block;white-space:pre-wrap}.progress{height:9px;border-radius:999px;background:#e7edf3;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--orange),#f2a15f);border-radius:999px}.progress-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12px;font-weight:800}
.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.check-item{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.check-item.done{background:var(--success-bg);border-color:#c9ead9}.check-item input{width:18px;height:18px;margin-top:1px}.check-item label{display:block;font-weight:700}.check-item small{display:block;color:var(--muted);margin-top:3px}.checklist-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.timeline{position:relative;padding-left:20px}.timeline:before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:#dfe6ee}.timeline-item{position:relative;padding:0 0 17px 14px}.timeline-item:before{content:"";position:absolute;left:-19px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px #fff}.timeline-item:last-child{padding-bottom:0}.timeline-item strong{display:block}.timeline-item small{color:var(--muted)}
.empty-state{text-align:center;padding:46px 24px}.empty-icon{margin:0 auto 14px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--navy-soft);color:var(--navy);font-size:27px;font-weight:300}.empty-state h2{margin-bottom:7px}.empty-state p{max-width:650px;margin:0 auto 18px;color:var(--muted)}
.two-column{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px;align-items:start}.stack>*+*{margin-top:18px}.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-link{display:block;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;font-weight:750}.quick-link small{display:block;color:var(--muted);font-weight:500;margin-top:3px}.quick-link:hover{border-color:#9fb5cc;background:#fff}
.connection-ok{padding:12px;border-radius:9px;background:var(--success-bg);color:var(--success);font-weight:800}.connection-error{padding:12px;border-radius:9px;background:var(--danger-bg);color:var(--danger);font-weight:800}.copy-field{width:100%;margin-top:8px}.chip{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--navy-soft);font-size:12px;font-weight:750}.public-card{max-width:780px;margin:40px auto;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.login-card{max-width:480px;margin:50px auto;display:grid;gap:14px}.email-preview{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fff}.inline-reopen{display:flex;gap:8px}.inline-reopen input{min-width:260px}.multi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1250px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.6fr));}.filters button{grid-column:auto}.two-column{grid-template-columns:1fr}}
@media(max-width:900px){.topbar{padding:0 14px}.menu-toggle{display:grid;place-items:center}.top-actions .user-meta,.logout-link,.top-action span{display:none}.layout{grid-template-columns:1fr}.sidebar{position:fixed;left:-294px;top:76px;width:280px;transition:left .2s ease}.sidebar-open .sidebar{left:0}.sidebar-backdrop{display:block;position:fixed;z-index:35;inset:76px 0 0;background:rgba(7,20,35,.45);opacity:0;pointer-events:none;transition:opacity .2s ease}.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}.content{padding:22px 15px 45px}.page-heading h1{font-size:25px}.form-grid,.detail-grid,.module-grid,.checklist{grid-template-columns:1fr}.wide{grid-column:auto}.filters,.filters.compact{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tabs{width:100%;overflow:auto;flex-wrap:nowrap;justify-content:flex-start}.tabs a{white-space:nowrap}.top-actions{gap:8px}.user-chip{padding:4px;border:0}.quick-links{grid-template-columns:1fr}.inline-reopen{flex-direction:column}.inline-reopen input{min-width:0}}
@media(max-width:560px){.stats{grid-template-columns:1fr}.card{padding:16px}.content{padding-left:11px;padding-right:11px}.brand-word{font-size:21px}.brand-sub{font-size:10px}.actions>*{width:100%}.actions form button,.actions .button{width:100%}.page-heading{margin-bottom:16px}}
@media print{.sidebar,.sidebar-backdrop,.topbar,.actions,.tabs,form,.no-print{display:none!important}.layout{display:block}.content{max-width:none;padding:0}.card{box-shadow:none;border:1px solid #ccc;break-inside:avoid}.page-heading{margin-bottom:14px}body{background:#fff}}

/* MEDATA QMS V4 — commandes simples et utilisation mobile */
.status-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;margin-bottom:10px;scrollbar-width:thin}.status-tabs a{white-space:nowrap;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800}.status-tabs a:hover{background:var(--navy);color:#fff}
.responsive-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.responsive-records.compact-cards{grid-template-columns:1fr}.record-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);color:var(--ink);transition:.18s ease}.record-card:hover{transform:translateY(-2px);border-color:#a9bed4}.record-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.record-card h3{margin:0 0 14px;font-size:17px}.record-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.record-card-grid span{padding:9px;background:#f7f9fc;border-radius:9px;color:var(--muted);font-size:11px}.record-card-grid b{display:block;color:var(--navy);font-size:13px;margin-bottom:2px}.record-warning{margin:12px 0 0;padding:9px;border-radius:8px;background:var(--warning-bg);color:var(--warning);font-size:12px;font-weight:700}
.order-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.order-summary>div{padding:13px;border-radius:10px;background:#f7f9fc}.order-summary span{display:block;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;margin-bottom:6px}.order-summary strong{display:block;color:var(--navy)}
.order-line-card{scroll-margin-top:95px}.inset-card{background:#f7f9fc;box-shadow:none;margin:18px 0 0}.checkbox-line{display:flex;flex-direction:row;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fbfcfe}.checkbox-line input{width:18px;height:18px;flex:0 0 18px;margin:0}.product-line{padding:15px;border:1px solid var(--line);border-radius:11px;background:#fbfcfe;margin-bottom:12px}.wrap-cell{white-space:normal;min-width:260px;max-width:420px}.notification-head small{display:block;color:var(--muted);font-weight:500;margin-top:4px}.notification-list{display:grid;gap:12px}.notification-list .card{margin:0}.notification-card.unread{border-left:4px solid var(--orange)}
.process-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.process-strip a{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}.process-strip b{grid-row:1/3;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff}.process-strip span{font-weight:850;color:var(--ink)}.process-strip small{color:var(--muted)}
.mobile-only{display:none}
@media(max-width:1100px){.order-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.process-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){body{font-size:14px}.topbar{height:64px}.layout{min-height:calc(100vh - 64px)}.sidebar{top:64px;height:calc(100vh - 64px)}.sidebar-backdrop{inset:64px 0 0}.content{padding:16px 10px 90px}.page-heading{display:block}.page-heading h1{font-size:23px}.page-heading p{font-size:13px}.responsive-records,.order-summary,.process-strip{grid-template-columns:1fr}.record-card{padding:15px}.record-card-grid{grid-template-columns:1fr}.record-card-grid span{display:flex;align-items:center;justify-content:space-between;gap:10px}.record-card-grid b{margin:0}.card-header{align-items:flex-start}.order-line-card .actions{display:grid;grid-template-columns:1fr}.order-line-card .actions form,.order-line-card .actions button{width:100%}.detail-grid{gap:9px}.detail-item{padding:12px}.form-grid{gap:12px}input,select,textarea{font-size:16px;min-height:45px}.checkbox-line{min-height:48px}.table-wrap{border-radius:10px}.table-wrap:before{content:'Glissez horizontalement pour voir le tableau';display:block;position:sticky;left:0;padding:8px 12px;background:var(--navy-soft);color:var(--navy);font-size:11px;font-weight:800}.mobile-only{display:block}.topbar .brand-sub{display:none}.topbar .brand-word{font-size:20px}.stat{min-height:104px}.stat strong{font-size:28px}.process-strip a{min-height:78px}}
@media(max-width:430px){.content{padding-left:8px;padding-right:8px}.card{border-radius:11px;padding:14px}.record-card-head{align-items:flex-start}.record-card-head strong{max-width:62%;overflow-wrap:anywhere}.actions.compact{display:grid;grid-template-columns:1fr}.actions.compact>*{width:100%}.topbar{padding:0 9px}.notification-link b{min-width:20px;height:20px}.user-avatar{width:31px;height:31px}.page-heading h1{font-size:21px}}

@media(max-width:900px){
  body.sidebar-open{overflow:hidden}
  .sidebar{left:0;transform:translateX(-105%);will-change:transform}
  .sidebar-open .sidebar{left:0;transform:translateX(0)}
  .topbar-search{display:none}
  .table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .table-wrap:focus-visible{outline-offset:-2px}
}

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

/* MEDATA QMS V12 — densite bureau compacte, sans changer les reperes */
@media(min-width:901px){
  :root{
    --radius:11px;
    --shadow:0 2px 10px rgba(15,23,42,.045);
    --shadow-lg:0 7px 20px rgba(15,23,42,.08);
  }
  body{font-size:14px;line-height:1.42}
  .topbar{height:64px;padding:0 20px;box-shadow:0 1px 7px rgba(15,23,42,.035)}
  .topbar-left{gap:12px}
  .top-actions{gap:12px}
  .brand-word{font-size:23px;letter-spacing:2.7px}
  .brand-sub{margin-top:3px;font-size:10px}
  .topbar-search{margin:0 16px;max-width:600px}
  .topbar-search input,.topbar-search button{height:38px;min-height:38px}
  .topbar-search input{padding:8px 14px}
  .topbar-search button{padding:6px 13px;font-size:17px}
  .user-chip{gap:7px;padding:4px 9px}
  .user-avatar{width:32px;height:32px;font-size:12px}
  .top-action,.logout-link{font-size:12.5px}
  .layout{grid-template-columns:240px minmax(0,1fr);min-height:calc(100vh - 64px)}
  .sidebar{top:64px;height:calc(100vh - 64px)}
  .sidebar-scroll{padding:11px 10px 22px}
  .nav-title{margin:14px 9px 5px;font-size:9.5px}
  .nav-link{gap:9px;padding:7px 9px;margin:2px 0;border-radius:8px;font-size:13px}
  .nav-link:hover{transform:translateX(2px)}
  .nav-link.active{box-shadow:0 4px 12px rgba(0,0,0,.12)}
  .nav-icon{flex-basis:28px;height:28px;border-radius:7px;font-size:9px}
  .content{max-width:1800px;padding:20px 24px 42px}
  .page-heading{gap:16px;margin-bottom:16px}
  .page-heading h1{font-size:25px}
  .page-heading p{margin-top:4px;font-size:13px}
  h2{font-size:17px;margin-bottom:10px}
  h3{font-size:15px;margin-bottom:8px}
  .card{padding:16px;margin-bottom:14px;border-radius:11px}
  .card-header{gap:12px;margin-bottom:11px}
  .stats{gap:12px;margin-bottom:16px}
  .stat{min-height:96px}
  .stat strong{font-size:27px;margin-bottom:5px}
  .stat small{margin-top:6px}
  .module-grid{gap:12px}
  .module-card{min-height:140px;padding:16px}
  .module-card .module-code{width:38px;height:38px;margin-bottom:11px;border-radius:9px}
  .module-card h3{font-size:16px}
  .module-card p{margin-bottom:12px}
  .actions,.tabs,.sync-actions{gap:7px;margin-bottom:14px}
  .tabs{padding:3px;border-radius:10px}
  .tabs a{padding:7px 11px;border-radius:7px;font-size:12.5px}
  button,.button{min-height:36px;padding:8px 14px;border-radius:8px;font-size:13px;box-shadow:0 1px 5px rgba(234,88,12,.16)}
  .small{min-height:30px;padding:5px 10px;font-size:11.5px}
  .form-grid{gap:12px}
  label{gap:5px;font-size:12.5px}
  input,select,textarea{padding:8px 10px;border-radius:7px}
  textarea{min-height:92px}
  .filters,.filter-bar{gap:9px}
  th,td{padding:9px 12px}
  .badge{padding:4px 8px;font-size:11px}
  .alert{padding:10px 12px;margin-bottom:12px;border-radius:8px}
  .detail-grid{gap:9px}
  .detail-item{padding:10px;border-radius:8px}
  .two-column{gap:13px}
  .stack>*+*{margin-top:13px}
  .responsive-records{gap:10px}
  .record-card{padding:13px}
  .record-card h3{margin-bottom:10px;font-size:16px}
  .record-card-grid span{padding:7px;border-radius:7px}
  .order-summary,.process-strip{gap:9px}
  .order-summary>div{padding:10px;border-radius:8px}
  .process-strip{margin-bottom:15px}
  .process-strip a{padding:10px;border-radius:9px}
}


/* MEDATA QMS V7 — correction transversale mobile et recherche client */
.info-banner{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  background:#eef5fb;
  border-color:#cbdced;
  box-shadow:none;
}
.info-banner strong{flex:0 0 auto;color:var(--navy)}
.info-banner span{color:#53677d}
.record-card-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.pending-quote-card{display:block}
.pending-quote-card:hover{transform:translateY(-2px);border-color:#a9bed4}

.qms-client-picker{position:relative;display:grid;grid-template-columns:1fr auto;gap:7px}
.qms-client-search-input{grid-column:1}
.qms-client-clear{
  grid-column:2;
  min-height:45px;
  padding:8px 11px;
  background:#edf2f7!important;
  color:var(--navy)!important;
}
.qms-original-client-select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.qms-client-search-results{
  display:none;
  position:absolute;
  z-index:120;
  left:0;
  right:0;
  top:calc(100% + 6px);
  max-height:330px;
  overflow:auto;
  border:1px solid #cedae7;
  border-radius:11px;
  background:#fff;
  box-shadow:0 18px 44px rgba(13,41,74,.18);
}
.qms-client-search-results.open{display:block}
.qms-client-search-item{
  display:block;
  width:100%;
  min-height:auto;
  padding:12px 13px;
  border:0;
  border-bottom:1px solid #edf1f5;
  border-radius:0;
  background:#fff;
  color:var(--ink);
  text-align:left;
}
.qms-client-search-item:hover{background:#f5f8fb;color:var(--ink)}
.qms-client-search-item strong,
.qms-client-search-item span{display:block}
.qms-client-search-item span{
  margin-top:3px;
  color:var(--muted);
  font-size:12px;
  font-weight:500;
}
.qms-client-search-state{padding:14px;color:var(--muted)}
.qms-client-search-state.error{color:var(--danger)}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  .topbar{
    height:64px;
    padding:0 10px;
    gap:8px;
  }
  .layout{min-height:calc(100vh - 64px)}
  .sidebar{
    top:64px;
    height:calc(100vh - 64px);
    width:min(88vw,310px);
    left:min(-90vw,-320px);
  }
  .sidebar-backdrop{inset:64px 0 0}
  .content{
    width:100%;
    max-width:100%;
    padding:15px 10px 88px;
    overflow-x:hidden;
  }
  .page-heading{gap:10px}
  .page-heading h1{
    font-size:22px;
    overflow-wrap:anywhere;
  }
  .page-heading p{font-size:13px}
  .card{max-width:100%;overflow-wrap:anywhere}
  .stats,.module-grid,.detail-grid,.form-grid,.two-column,.multi{
    grid-template-columns:1fr!important;
  }
  .filters,.filter-bar,.filters.compact{
    display:grid;
    grid-template-columns:1fr!important;
  }
  .filters>*,
  .filter-bar>*{width:100%!important}
  .actions,.sync-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .actions>*,
  .actions form,
  .actions button,
  .actions .button,
  .sync-actions>*{width:100%}
  .tabs,.status-tabs{
    display:flex;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  .record-card-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .record-card-actions .button{width:100%}
  .qms-client-picker{grid-template-columns:1fr}
  .qms-client-search-input,
  .qms-client-clear{grid-column:1;width:100%}
  .qms-client-clear{min-height:40px}

  .table-wrap{
    overflow:visible;
    width:100%;
  }
  .table-wrap:before{display:none!important}
  table.qms-responsive-table,
  table.qms-responsive-table tbody,
  table.qms-responsive-table tr,
  table.qms-responsive-table td{
    display:block;
    width:100%;
  }
  table.qms-responsive-table thead{display:none}
  table.qms-responsive-table{
    border-collapse:separate;
    border-spacing:0 12px;
  }
  table.qms-responsive-table tbody tr{
    margin-bottom:12px;
    padding:8px 12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 5px 16px rgba(25,48,77,.05);
  }
  table.qms-responsive-table tbody tr:hover{background:#fff}
  table.qms-responsive-table td{
    display:grid;
    grid-template-columns:minmax(105px,38%) 1fr;
    gap:12px;
    align-items:start;
    padding:9px 0;
    border-bottom:1px solid #edf1f5;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:right;
  }
  table.qms-responsive-table td:last-child{border-bottom:0}
  table.qms-responsive-table td:before{
    content:attr(data-label);
    color:#667085;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
    text-align:left;
  }
  table.qms-responsive-table td.empty-cell{
    display:block;
    text-align:center!important;
  }
  table.qms-responsive-table td.empty-cell:before{display:none}
  .table-action-col{text-align:right}
  .table-action-col .row-action{width:100%;justify-content:center}
}

@media(max-width:430px){
  .top-actions .notification-link{
    width:34px;
    height:34px;
    justify-content:center;
    border-radius:50%;
    background:var(--navy-soft);
  }
  .brand-word{font-size:19px;letter-spacing:2px}
  .user-chip{display:none}
  .card{padding:13px}
  .record-card{padding:13px}
  input,select,textarea,button,.button{font-size:16px}
  table.qms-responsive-table td{
    grid-template-columns:1fr;
    gap:4px;
    text-align:left;
  }
}

/* MEDATA QMS V11 — recherche, affectations et administration */
.topbar-search{display:flex;align-items:center;flex:0 1 520px;margin:0 22px}.topbar-search input{height:42px;border-radius:999px 0 0 999px;background:#f5f8fb;border-right:0;padding-left:17px}.topbar-search button{height:42px;min-height:42px;border-radius:0 999px 999px 0;padding:8px 15px;background:var(--navy);font-size:20px}.user-chip{color:var(--ink)}
.qms-global-search-page{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,.28fr) auto;gap:12px;align-items:end}.qms-search-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 15px}.qms-search-summary strong{margin-right:auto}.qms-search-summary span{padding:6px 9px;border-radius:999px;background:#eaf1f8;color:var(--navy);font-size:11px;font-weight:800}.qms-search-results{display:grid;gap:10px}.qms-search-result{display:grid;grid-template-columns:105px minmax(0,1fr) auto;gap:16px;align-items:center;margin:0;color:var(--ink);transition:.16s ease}.qms-search-result:hover{transform:translateY(-2px);border-color:#adc1d4}.qms-search-result h2{margin:3px 0 4px}.qms-search-result p{margin:0;color:var(--muted)}.qms-search-result small{color:var(--orange-dark);font-weight:800}.qms-search-type{display:inline-flex;width:max-content;padding:6px 9px;border-radius:8px;background:var(--navy);color:#fff;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.qms-search-meta{display:flex;align-items:flex-end;flex-direction:column;gap:6px;color:var(--muted);font-size:11px}.qms-search-meta time{white-space:nowrap}
.qms-assignment-hero{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(125deg,var(--navy-deep),var(--navy));color:#fff;border:0}.qms-assignment-hero span{color:#f4a257;font-size:11px;font-weight:900;letter-spacing:.1em}.qms-assignment-hero h2{font-size:27px;margin:5px 0}.qms-assignment-hero p{margin:0;color:#dce8f4}.qms-assignment-hero>strong{font-size:44px}.qms-assignment-filter,.qms-user-filter{display:grid;grid-template-columns:minmax(250px,1fr) repeat(2,minmax(170px,.3fr)) auto;gap:10px}.qms-assignment-list{display:grid;gap:10px}.qms-assignment-card{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(220px,.35fr);gap:18px;align-items:center;margin:0}.qms-assignment-card.unassigned{border-left:5px solid var(--orange)}.qms-assignment-card a{color:var(--ink)}.qms-assignment-card a>small{display:block;margin:8px 0 2px;color:var(--orange-dark);font-weight:800}.qms-assignment-card h2{margin:0 0 4px}.qms-assignment-card p{margin:0;color:var(--muted)}.qms-assignment-state{display:flex;flex-direction:column;align-items:flex-end;gap:7px;color:var(--muted);font-size:11px}.qms-inline-assignment label{margin:0}.qms-assigned-person span,.qms-assigned-person strong{display:block}.qms-assigned-person span{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:800}
.qms-admin-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:18px;align-items:start}.qms-user-filter{grid-template-columns:minmax(200px,1fr) 160px 130px auto}.qms-user-list{display:grid;gap:9px}.qms-user-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding:14px;color:var(--ink)}.qms-user-card:hover{border-color:#abc0d3}.qms-user-card.disabled{opacity:.62}.qms-user-card .user-avatar{width:42px;height:42px}.qms-user-card strong,.qms-user-card small,.qms-user-card span{display:block}.qms-user-card small,.qms-user-card span{color:var(--muted);margin-top:2px}.qms-user-card em{font-style:normal;font-size:11px;font-weight:800;color:var(--success)}.qms-user-card.disabled em{color:var(--danger)}.qms-permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0}.qms-permission-grid .checkbox-line{margin:0}
@media(max-width:1150px){.topbar-search{max-width:360px}.qms-admin-grid{grid-template-columns:1fr}.qms-assignment-card{grid-template-columns:minmax(0,1fr) auto}.qms-inline-assignment,.qms-assigned-person{grid-column:1/-1}.qms-permission-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.topbar-search{display:none}.qms-global-search-page,.qms-assignment-filter,.qms-user-filter{grid-template-columns:1fr}.qms-search-result,.qms-assignment-card{grid-template-columns:1fr}.qms-search-meta,.qms-assignment-state{align-items:flex-start}.qms-assignment-hero{align-items:flex-start}.qms-assignment-hero>strong{font-size:34px}.qms-permission-grid{grid-template-columns:1fr}}
@media(max-width:560px){.qms-assignment-hero{flex-direction:column}.qms-user-card{grid-template-columns:38px minmax(0,1fr)}.qms-user-card em{grid-column:2}.qms-search-result{padding:15px}}

/* MEDATA QMS V14 — OPTIMISATION UNIVERSELLE DES BOUTONS PC & MOBILE SUR TOUS LES MODULES */
.btn-group, .actions, .table-action-col, .record-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.row-action, .button.small, .btn-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 6px 14px;
  border-radius: 8px;
  font-weight: 750;
  font-size: 12.5px;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
  transition: all .16s ease;
}
.row-action:hover, .btn-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(15,39,68,.12);
}
@media(max-width:768px){
  /* Optimisation tactile mobile sur tous les modules */
  button, .button, .row-action, .btn-action, input[type="submit"] {
    min-height: 42px;
    font-size: 13.5px;
    touch-action: manipulation;
  }
  .actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
  }
  .actions > * {
    flex: 1 1 auto;
    min-width: 130px;
  }
  .table-action-col {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
  }
  .table-action-col .row-action,
  .table-action-col .button {
    flex: 1 1 auto;
    min-height: 38px;
    text-align: center;
  }
  /* Cartes d'action et modales plein écran lisibles */
  .crm-modal, .qms-modal {
    max-width: 95vw !important;
    padding: 16px !important;
    border-radius: 12px !important;
  }
  /* Badges de statuts visibles */
  .badge {
    padding: 5px 9px;
    font-size: 11px;
    white-space: nowrap;
  }
}
