    :root{color-scheme:dark;--bg:#090909;--panel:#141414;--panel2:#1a1a1a;--line:#303030;--silver:#b9b9b9;--muted:#858585;--red:#8c2229;--red2:#55161c}
    *{box-sizing:border-box} body{margin:0;background:var(--bg);color:#ececec;font-family:Inter,ui-sans-serif,system-ui,sans-serif;background-image:radial-gradient(ellipse at 50% -10%,rgba(110,110,110,.09),transparent 42%),radial-gradient(ellipse at 100% 100%,rgba(90,20,25,.10),transparent 35%)}
    .grain{background-image:linear-gradient(115deg,rgba(255,255,255,.022),transparent 28%,rgba(255,255,255,.012) 51%,transparent 72%),repeating-linear-gradient(2deg,rgba(255,255,255,.012) 0 1px,transparent 1px 4px)}
    .metal{color:#d6d6d6;text-shadow:0 1px 0 #fff,0 2px 1px #333,0 4px 8px #000;letter-spacing:.13em}
    .brand-kicker{letter-spacing:.32em;font-size:.64rem;color:#888;text-transform:uppercase}
    .panel{background:linear-gradient(145deg,rgba(28,28,28,.98),rgba(15,15,15,.98));border:1px solid var(--line);box-shadow:0 12px 30px rgba(0,0,0,.22)}
    .panel-inset{background:linear-gradient(145deg,#151515,#101010);border:1px solid #292929}
    .sidebar{background:linear-gradient(180deg,#101010,#090909);border-right:1px solid #2a2a2a}
    .sidebar-nav-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#444 transparent;scrollbar-width:thin}
    .nav-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border:1px solid transparent;border-radius:9px;color:#999;font-size:.88rem;transition:.18s}
    .nav-item:hover{background:#1c1c1c;color:#eee}.nav-item.active{background:linear-gradient(90deg,rgba(113,25,32,.35),rgba(43,18,20,.12));border-color:#55252a;color:#eee;box-shadow:inset 3px 0 #a3323a}
    .nav-item i{width:17px;text-align:center;color:#898989}.nav-item.active i{color:#d4a3a5}
    .nav-item.stock-nav.active{background:#222;border-color:#454545;box-shadow:inset 3px 0 #8a8a8a;color:#eee}.nav-item.stock-nav.active i{color:#ccc}
    .btn-primary{background:linear-gradient(180deg,#9b3038,#681c23);border:1px solid #a34a50;color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.12),0 5px 14px rgba(0,0,0,.25);transition:.18s}
    .btn-primary:hover{filter:brightness(1.16);transform:translateY(-1px)}.btn-secondary{background:linear-gradient(180deg,#242424,#171717);border:1px solid #414141;color:#ddd}.btn-secondary:hover{border-color:#777;background:#292929}
    .btn-danger{background:#311417;border:1px solid #61262c;color:#e7bfc2}
    .field{width:100%;background:#0d0d0d;border:1px solid #383838;border-radius:8px;padding:11px 12px;color:#f2f2f2;outline:none;transition:.15s}
    .field:focus{border-color:#934149;box-shadow:0 0 0 3px rgba(140,34,41,.15)}.field::placeholder{color:#666}
    select.field{appearance:auto}.label{display:block;color:#aaa;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;margin:0 0 7px}
    .stat-number{font-family:Georgia,serif;letter-spacing:.01em}.eyebrow{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:#929292}
    .table-wrap{overflow-x:auto;border:1px solid #2b2b2b;border-radius:10px}table{width:100%;border-collapse:collapse;min-width:660px}th{font-size:.66rem;text-transform:uppercase;letter-spacing:.13em;color:#888;font-weight:600;background:#111;text-align:left;padding:13px 15px;border-bottom:1px solid #333}td{padding:13px 15px;border-bottom:1px solid #242424;font-size:.84rem;color:#d4d4d4}tr:last-child td{border-bottom:0}tbody tr:hover{background:rgba(255,255,255,.018)}
    .badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;border:1px solid #393939;background:#1b1b1b;color:#aaa;font-size:.68rem;white-space:nowrap}.badge.red{border-color:#663036;background:#2a1215;color:#dda6aa}.badge.green{border-color:#315041;background:#142019;color:#a3c4ad}.badge.gold{border-color:#61502d;background:#211c12;color:#d1bd8e}.badge.amber{border-color:#74512e;background:#271c12;color:#edbe7a}.btn-danger:hover{background:#4b1c21;border-color:#9f454d}.nav-item:focus-visible,.btn-secondary:focus-visible,.btn-primary:focus-visible,.btn-danger:focus-visible{outline:2px solid #c1c1c1;outline-offset:2px}
    .divider{height:1px;background:linear-gradient(90deg,transparent,#393939 15%,#393939 85%,transparent)}
    .modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(5px);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{width:min(570px,100%);max-height:90vh;overflow:auto;background:linear-gradient(150deg,#1b1b1b,#0e0e0e);border:1px solid #4a4a4a;border-radius:14px;box-shadow:0 25px 90px #000}
    .login-backdrop{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at 50% 40%,rgba(93,22,28,.17),transparent 55%),#080808}
    .login-card{width:min(960px,100%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid #3c3c3c;border-radius:16px;background:#111;box-shadow:0 28px 100px #000}
    .login-art{position:relative;min-height:560px;background:#050505;display:flex;align-items:center;justify-content:center;padding:30px;overflow:hidden}.login-art:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.12) 55%,rgba(0,0,0,.5)),url('assets/sor-pb-logo.webp') center/cover;filter:grayscale(.18);opacity:.82}.login-art>*{position:relative;z-index:1}
    .login-form{padding:46px 42px;display:flex;flex-direction:column;justify-content:center}.red-rule{height:2px;width:44px;background:#9b3038;margin:15px 0 24px}
    .progress-track{height:6px;background:#252525;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#56161b,#b84750);border-radius:999px}
    .empty{padding:38px 16px;text-align:center;color:#777}.empty i{font-size:1.7rem;color:#555;margin-bottom:12px}
    .checkline{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#bbb}.checkline input{accent-color:#8e2a32;width:15px;height:15px}
    .mobile-sidebar{transform:translateX(-105%);transition:transform .22s ease}.mobile-sidebar.open{transform:translateX(0)}
    .member-grade-group[hidden],.member-row[hidden],#memberDirectoryEmpty[hidden]{display:none!important}
    .toast{position:fixed;right:20px;bottom:20px;z-index:100;padding:13px 17px;border:1px solid #4a4a4a;background:#191919;color:#eee;border-radius:9px;box-shadow:0 12px 40px #000;max-width:min(420px,calc(100vw - 40px));font-size:.85rem;animation:toastIn .2s ease}.toast.error{border-color:#723139}.toast.success{border-color:#3c684c}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
    @media(max-width:800px){.login-card{grid-template-columns:1fr;max-width:480px}.login-art{min-height:210px;padding:18px}.login-art:before{background-position:center 43%;}.login-art .art-copy{display:none}.login-form{padding:30px 24px}.desktop-sidebar{display:none!important}.main-content{margin-left:0!important}.mobile-sidebar{display:block}}
    @media(min-width:801px){.mobile-only{display:none!important}}
/* Optimisation pour navigateurs intégrés FiveM et écrans étroits */
html,body{min-width:0;max-width:100%;overflow-x:hidden}
button,input,select,textarea{touch-action:manipulation}
.sidebar-nav-scroll,.modal-card,.table-wrap,.main-content{-webkit-overflow-scrolling:touch}
@media(max-width:600px){
  .login-backdrop{padding:8px;min-height:100dvh}
  .login-card{max-width:100%;border-radius:10px}
  .login-art{min-height:102px;padding:10px}
  .login-form{padding:17px 14px}
  .login-form .divider{margin-top:14px;margin-bottom:14px}
  .modal-backdrop{padding:7px;align-items:center}
  .modal-card{max-height:calc(100dvh - 14px);border-radius:10px}
  .field{font-size:16px}
}
html.ingame .modal-backdrop{backdrop-filter:none}
html.ingame .panel{box-shadow:none}
html.ingame .login-card{box-shadow:none}
html.ingame .nav-item,html.ingame .btn-primary{transition:none}
html.ingame .btn-primary:hover{transform:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
