:root{--bg:#07111d;--panel:#0e1b2b;--panel2:#13253a;--text:#f6f9fc;--muted:#8fa6bd;--cyan:#44e5e7;--pink:#ff4f9a;--line:#20364d;--ok:#48d597;--danger:#ff6a75}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#142b46 0,transparent 35%),var(--bg);color:var(--text);font:15px/1.55 Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,5vw);border-bottom:1px solid var(--line);background:#07111de8;position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.brand{font-weight:900;letter-spacing:3px;font-size:20px}.brand span{color:var(--cyan)}.brand small{color:var(--pink);font-size:10px}.topbar nav{display:flex;gap:22px;align-items:center}.topbar nav a,.linkbtn{color:var(--muted);font-weight:700}.topbar nav a:hover{color:white}.inline{display:inline}.linkbtn{background:none;border:0;cursor:pointer}
.container{width:min(1180px,92%);margin:40px auto;min-height:calc(100vh - 170px)}footer{text-align:center;color:var(--muted);padding:25px;border-top:1px solid var(--line)}
.hero{min-height:530px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}.hero h1{font-size:clamp(42px,6vw,78px);line-height:.98;margin:15px 0 24px;letter-spacing:-4px}.hero p{max-width:650px;color:var(--muted);font-size:18px}.eyebrow{color:var(--cyan);font-weight:900;letter-spacing:4px;font-size:12px}.sun-card{height:400px;border-radius:30px;background:linear-gradient(#32235b,#e44c84 60%,#ffae72);position:relative;overflow:hidden;box-shadow:0 30px 80px #0008}.sun{width:200px;height:200px;background:#ffd99b;border-radius:50%;position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);box-shadow:0 0 50px #ffd99b}.skyline{position:absolute;bottom:0;width:100%;height:120px;background:#07111d;clip-path:polygon(0 80%,8% 60%,12% 75%,20% 30%,28% 70%,35% 45%,41% 72%,50% 15%,58% 65%,68% 38%,74% 70%,85% 48%,92% 75%,100% 55%,100% 100%,0 100%);display:flex;align-items:end;justify-content:center;padding-bottom:10px;font-weight:900;letter-spacing:8px}
.card{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 15px 45px #0002}.grid3,.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.btn{display:inline-flex;padding:12px 18px;border-radius:10px;border:0;font-weight:800;cursor:pointer}.primary{background:linear-gradient(90deg,var(--cyan),#5eb4ff);color:#04101b}.full{width:100%;justify-content:center}.authbox{width:min(480px,100%);margin:80px auto}label{display:block;color:var(--muted);font-weight:700;margin:16px 0 6px}input,select,textarea{width:100%;background:#071321;border:1px solid var(--line);color:white;border-radius:9px;padding:12px;font:inherit}textarea{resize:vertical}
.pagehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.pagehead h1{font-size:38px;margin:5px 0}.stats{margin:20px 0 40px}.stat{background:var(--panel);border:1px solid var(--line);padding:22px;border-radius:16px}.stat b{display:block;font-size:32px;color:var(--cyan)}.stat span,.meta,small{color:var(--muted)}.cards{display:grid;gap:16px}.character{display:flex;align-items:center;gap:20px}.avatar{width:65px;height:65px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#944bff);font-size:22px;font-weight:900}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span,.tag,.status{background:#0a1725;border:1px solid var(--line);padding:5px 9px;border-radius:999px;color:var(--muted);font-size:12px}
.wiki-layout,.two{display:grid;grid-template-columns:260px 1fr;gap:22px}.wiki-layout aside a{display:block;padding:9px 0;color:var(--muted)}.article:hover{border-color:var(--cyan);transform:translateY(-2px)}.search{max-width:320px}.prose{max-width:900px;margin:auto}.prose h2,.prose h3{margin-top:30px}.row{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.row small{display:block}.chat{height:480px;overflow:auto;display:flex;flex-direction:column;gap:14px}.msg{max-width:75%;padding:13px 15px;border-radius:14px;background:#071321}.msg.user{align-self:flex-end;background:#12344b}.msg.staff{align-self:flex-start;border-left:3px solid var(--pink)}.msg p{margin:4px 0}.chat-form{display:flex;gap:10px;margin-top:12px}.chat-form textarea{min-height:70px}.table{padding:0;overflow:hidden}.tr{display:grid;grid-template-columns:70px 1fr 110px 130px;gap:10px;padding:15px 18px;border-bottom:1px solid var(--line);align-items:center}.th{color:var(--muted);font-weight:800}.formwide{max-width:800px;margin:auto}.twofields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.comment{margin:10px 0}.alert{padding:13px 16px;border-radius:10px;margin-bottom:16px}.success{background:#11382d;color:#8af0c1}.error{background:#3b1720;color:#ffb0b8}.empty{color:var(--muted);padding:30px;text-align:center}
dl{display:grid;grid-template-columns:160px 1fr;gap:10px}dt{color:var(--muted)}
@media(max-width:800px){.topbar{height:auto;padding:18px;align-items:flex-start}.topbar nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}.hero{grid-template-columns:1fr;min-height:auto}.sun-card{height:300px}.grid3,.stats,.wiki-layout,.two{grid-template-columns:1fr}.hero h1{letter-spacing:-2px}.tr{grid-template-columns:55px 1fr}.tr span:nth-child(3),.tr span:nth-child(4){display:none}.twofields{grid-template-columns:1fr}.pagehead{align-items:flex-start;gap:15px}.chat-form{flex-direction:column}}

.document-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;margin-bottom:22px}
.document-grid{display:grid;gap:14px}.document-card{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:18px}
.document-icon{width:58px;height:72px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(160deg,#f8fbff,#9edbe8);color:#07111d;font-size:20px;font-weight:900;box-shadow:inset 0 -12px 20px #5ea1b855}
.document-card h3{margin:8px 0 3px}.document-card p{margin:0;color:var(--muted)}
.document-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.document-sheet-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}
.document-sheet-head b{font-size:22px;letter-spacing:3px;color:var(--cyan)}.document-sheet-head small{display:block}.doc-number{font-weight:900}
.payload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.payload-grid div{padding:12px;background:#091624;border:1px solid var(--line);border-radius:10px}.payload-grid small,.payload-grid b{display:block}
.signature-box{border:1px dashed var(--cyan);border-radius:12px;padding:18px;margin-bottom:24px}.signature-box span,.signature-box small{display:block;color:var(--muted)}
.timeline{display:grid;gap:18px}.timeline div{border-left:2px solid var(--cyan);padding-left:14px}.timeline small{display:block}
.document-tr{grid-template-columns:60px 1.5fr 1fr 1fr 180px}.dashboard-documents{display:flex;justify-content:space-between;align-items:center;margin-top:34px}
@media(max-width:800px){.document-filters{grid-template-columns:1fr}.document-card{grid-template-columns:52px 1fr}.document-card>.status{grid-column:2}.document-layout{grid-template-columns:1fr}.payload-grid{grid-template-columns:1fr}.dashboard-documents{display:block}.dashboard-documents .btn{margin-top:12px}.document-tr{grid-template-columns:45px 1fr}.document-tr>span:nth-child(3),.document-tr>span:nth-child(4){display:none}}

.forum-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}.forum-category{padding:0;overflow:hidden;margin-bottom:18px}
.forum-category-head{padding:20px 24px;border-bottom:1px solid var(--line)}.forum-category-head h2{margin:0}.forum-category-head p{margin:4px 0 0;color:var(--muted)}
.forum-board{display:grid;grid-template-columns:55px 1fr 30px;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line)}.forum-board:hover{background:#152b42}
.forum-board-icon{width:46px;height:46px;border-radius:13px;background:#0b1b2b;display:grid;place-items:center}.forum-board h3{margin:0}.forum-board p{margin:3px 0;color:var(--muted)}
.forum-board-arrow{font-size:30px;color:var(--cyan)}.latest-topic{display:block;padding:12px 0;border-bottom:1px solid var(--line)}.latest-topic small{display:block}
.forum-search{display:flex;gap:8px}.topic-list{padding:0;overflow:hidden}.topic-row{display:grid;grid-template-columns:45px 1fr 90px 150px;gap:12px;align-items:center;padding:17px;border-bottom:1px solid var(--line)}
.topic-row:hover{background:#14283d}.topic-row small{display:block}.forum-posts{display:grid;gap:14px}.forum-post{display:grid;grid-template-columns:180px 1fr;padding:0;overflow:hidden}
.forum-post>aside{padding:20px;background:#0a1725;border-right:1px solid var(--line)}.forum-post>aside .avatar{margin-bottom:12px}.forum-post>aside small{display:block}.forum-post-body{padding:24px;min-height:150px}
.post-actions{display:flex;gap:7px;margin-top:20px}.post-actions form{margin:0}.post-actions button{background:#0a1725;border:1px solid var(--line);color:white;border-radius:9px;padding:7px 10px;cursor:pointer}.reply-box{margin-top:18px}.pdf-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:800px){.forum-layout{grid-template-columns:1fr}.forum-layout aside{display:none}.forum-search{width:100%}.topic-row{grid-template-columns:35px 1fr}.topic-row>span:nth-child(3),.topic-row>span:nth-child(4){display:none}.forum-post{grid-template-columns:1fr}.forum-post>aside{border-right:0;border-bottom:1px solid var(--line)}}


/* V7.4 — données réelles, véhicules, factions et administration */
.muted{color:var(--muted)}
.danger{background:#3c1720;color:#ffbbc1;border:1px solid #7f2635}
.staff-nav{color:var(--pink)!important}
.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.dashboard-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:34px}
.dashboard-module{display:flex;flex-direction:column;justify-content:space-between;min-height:270px}
.dashboard-vehicle-list{display:grid;gap:8px;margin:14px 0}
.dashboard-vehicle-list a{display:flex;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#091624}
.character-main{flex:1}.character-factions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.faction-mini{border-left:3px solid var(--faction-color,var(--cyan));background:#091624;padding:7px 10px;border-radius:7px}
.faction-mini small{display:block}

.vehicle-grid,.faction-grid,.admin-module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}
.vehicle-card{transition:.2s transform,.2s border-color}.vehicle-card:hover{transform:translateY(-3px);border-color:var(--cyan)}
.vehicle-card-top,.faction-card-head{display:flex;justify-content:space-between;align-items:center}
.vehicle-mark,.faction-emblem{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;font-weight:900;font-size:19px;background:linear-gradient(135deg,var(--cyan),#5d75ff);color:#07111d}
.vehicle-mark.large{width:78px;height:78px;font-size:25px}.vehicle-plate{display:inline-block;background:#f5f7f8;color:#101820;border:3px solid #162536;border-radius:7px;padding:5px 12px;font-weight:900;letter-spacing:2px}
.vehicle-plate.large{font-size:21px}.vehicle-card dl{grid-template-columns:150px 1fr;font-size:13px}
.vehicle-identity{display:flex;justify-content:space-between;align-items:center;gap:30px}
.vehicle-identity-main{display:flex;align-items:center;gap:18px}
.vehicle-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}
.detail-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}
.detail-row small{display:block}.severity-critical{color:#ff9aa2}.severity-major{color:#ffd478}
.document-grid.compact{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.document-card.mini{display:block;padding:15px}

.faction-card{border-top:4px solid var(--faction-color,var(--cyan));transition:.2s transform}
.faction-card:hover{transform:translateY(-3px)}.faction-emblem{background:var(--faction-color,var(--cyan));color:#07111d}
.faction-pagehead{border-left:5px solid var(--faction-color,var(--cyan));padding-left:18px}
.faction-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:22px}
.faction-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px}
.member-table{display:grid}.member-row{display:grid;grid-template-columns:48px minmax(180px,1fr) minmax(220px,auto) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.avatar.small{width:44px;height:44px;border-radius:12px;font-size:15px}.member-action{display:flex;gap:7px;align-items:center}.member-action select{min-width:150px}
.rank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.rank-form{border:1px solid var(--line);background:#091624;border-radius:13px;padding:16px}.rank-form.new{border-style:dashed;border-color:var(--cyan)}
.permission-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:13px 0}.check{display:flex;align-items:center;gap:7px;margin:0;font-weight:500}.check input{width:auto}

.admin-module{display:flex;align-items:center;gap:18px}.admin-module>span{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),#745cff);font-weight:900}.admin-module h2{margin:0}.admin-module p{margin:3px 0;color:var(--muted)}

@media(max-width:1000px){
  .topbar{height:auto;align-items:flex-start}.topbar nav{flex-wrap:wrap;justify-content:flex-end}
  .faction-layout{grid-template-columns:1fr}.member-row{grid-template-columns:44px 1fr}.member-row form{grid-column:2}
}
@media(max-width:800px){
  .dashboard-columns,.vehicle-detail-grid{grid-template-columns:1fr}
  .vehicle-identity{display:block}.vehicle-identity dl{margin-top:20px}
  .member-action{flex-direction:column;align-items:stretch}.permission-grid{grid-template-columns:1fr}
}


/* V7.5 — Gestion des intérieurs */
.interior-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;margin-bottom:34px}
.interior-card{border-top:4px solid var(--interior-accent,var(--cyan));transition:.2s transform,.2s border-color}
.interior-card:hover{transform:translateY(-3px);border-color:var(--interior-accent,var(--cyan))}
.interior-card-head{display:flex;justify-content:space-between;align-items:center}
.interior-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),#6375ff);color:#07111d;font-weight:900}
.interior-card.tenancy{--interior-accent:#f7c667}.interior-card.key{--interior-accent:#b98cff}
.interior-admin-list{padding:0;overflow:hidden}.interior-admin-list>a{display:grid;grid-template-columns:60px 1fr 220px 90px;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}
.interior-admin-list>a:hover{background:#13283d}.interior-admin-list small{display:block}
.interior-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:22px}
.interior-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:22px}
.interior-overview dl{grid-template-columns:190px 1fr}.pagehead.compact{margin-bottom:12px}.pagehead.compact h2{margin:0}
.progress{height:12px;background:#081521;border-radius:99px;overflow:hidden;margin:18px 0}.progress span{height:100%;display:block;background:linear-gradient(90deg,var(--cyan),#65d69c)}
.garage-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:15px}.garage-coordinates>div{background:#091624;border:1px solid var(--line);border-radius:12px;padding:14px}.garage-coordinates small,.garage-coordinates b,.garage-coordinates span{display:block}
.key-list{display:grid}.key-row{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.key-row form{display:flex;gap:8px;align-items:center}.key-row small{display:block}
.option-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.coordinate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.admin-interior-panel{border-top:3px solid var(--pink)}
@media(max-width:1000px){.interior-layout{grid-template-columns:1fr}.interior-admin-list>a{grid-template-columns:50px 1fr}.interior-admin-list>a>span:nth-child(3),.interior-admin-list>a>span:nth-child(4){display:none}}
@media(max-width:800px){.key-row{grid-template-columns:1fr}.key-row form{flex-wrap:wrap}.garage-coordinates,.coordinate-grid{grid-template-columns:1fr 1fr}.option-list{grid-template-columns:1fr}}


/* V7.6 — Liaison devis et rapports aux véhicules */
.vehicle-document-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:18px 0}
.vehicle-document-section{margin-top:18px}
.vehicle-document-list{display:grid}
.vehicle-document-list>a{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.vehicle-document-list>a:last-child{border-bottom:0}
.vehicle-document-list>a:hover b{color:var(--cyan)}
.document-type-icon{width:46px;height:54px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(155deg,#e7fbff,#60b9ca);color:#07111d;font-weight:900;box-shadow:inset 0 -9px 15px #43899b44}
.vehicle-document-list small{display:block}.vehicle-document-list strong{white-space:nowrap}
@media(max-width:800px){.vehicle-document-list>a{grid-template-columns:46px 1fr}.vehicle-document-list>a>strong,.vehicle-document-list>a>.status{grid-column:2}}


/* V7.7 — Immatriculations provisoires WW */
.status.provisional,.tag.provisional{border-color:#d89522;color:#ffd78c;background:#3a2910}
.provisional-plate{border-color:#d89522!important;background:#fff5d9!important;box-shadow:0 0 0 3px #d8952233}
.provisional-note{display:inline-block;margin-top:9px;padding:5px 9px;border-radius:8px;background:#3a2910;color:#ffd78c;font-size:12px;font-weight:800;letter-spacing:.5px}
.provisional-banner{margin-top:10px;padding:8px 11px;border:1px solid #d89522;border-radius:9px;background:#3a2910;color:#ffd78c;font-size:13px;font-weight:800}


/* V7.9 — Refonte visuelle + navbar par catégories */
:root{
  --bg-accent-1:#180b2f;
  --bg-accent-2:#081829;
  --glass:rgba(10,22,37,.78);
  --glass-2:rgba(14,27,43,.94);
  --admin:#ff465e;
  --admin-dark:#9c1226;
}
body{
  background:
    radial-gradient(circle at 15% 0%, rgba(255,79,154,.16), transparent 28%),
    radial-gradient(circle at 85% 0%, rgba(68,229,231,.16), transparent 26%),
    linear-gradient(180deg, var(--bg-accent-1) 0%, var(--bg-accent-2) 18%, var(--bg) 46%);
}
.topbar.redesign{
  height:auto;
  padding:18px max(18px,4vw);
  background:linear-gradient(180deg,rgba(4,9,17,.92),rgba(7,17,29,.88));
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.topbar-shell{
  width:min(1380px,98%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand-area{display:flex;align-items:center;gap:18px;min-width:0}
.brand.brand-logo{
  display:flex;align-items:center;gap:14px;
  letter-spacing:0;
}
.brand-logo img{
  width:66px;height:66px;object-fit:cover;border-radius:18px;
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{
  font-size:24px;font-weight:900;
  background:linear-gradient(90deg,#53f0f2,#ffffff 45%,#ff58ab 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.brand-copy small{
  margin-top:5px;
  letter-spacing:2.4px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:#97abc3;
}
.pc-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex:1;
  min-width:0;
}
.nav-groups{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.nav-group{
  position:relative;
  background:var(--glass);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  min-width:132px;
  box-shadow:0 8px 26px rgba(0,0,0,.18);
}
.nav-group[open]{
  border-color:rgba(68,229,231,.36);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
}
.nav-group summary{
  list-style:none;
  cursor:pointer;
  padding:12px 16px;
  font-weight:800;
  color:#dbe8f5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::after{
  content:'▾';
  font-size:12px;
  color:var(--cyan);
}
.nav-group[open] summary::after{content:'▴'}
.nav-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:230px;
  background:var(--glass-2);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  padding:10px;
  display:grid;
  gap:6px;
  z-index:50;
}
.nav-menu a{
  display:block;
  padding:10px 12px;
  color:#cfe0f1;
  font-weight:700;
  border-radius:10px;
  transition:.16s ease;
}
.nav-menu a:hover{
  background:#13283d;
  color:white;
  transform:translateX(2px);
}
.nav-actions{
  display:flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.user-chip{
  display:flex;flex-direction:column;
  padding:10px 14px;
  border-radius:14px;
  background:var(--glass);
  border:1px solid rgba(255,255,255,.08);
  min-width:120px;
}
.user-chip-label{
  font-size:10px;
  letter-spacing:1.6px;
  font-weight:800;
  text-transform:uppercase;
  color:#90a7c0;
}
.user-chip b{font-size:14px}
.admin-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:12px;
  font-weight:900;
  color:white!important;
  background:linear-gradient(180deg,#ff5b70,#da2740);
  border:1px solid #ff8391;
  box-shadow:0 12px 24px rgba(218,39,64,.28);
}
.admin-button:hover{transform:translateY(-1px);background:linear-gradient(180deg,#ff6d80,#c81a34)}
.logout-button{
  display:inline-flex;align-items:center;justify-content:center;
  background:#0a1725;border:1px solid rgba(255,255,255,.1);
  color:#dce8f6;font-weight:800;padding:12px 14px;border-radius:12px;cursor:pointer;
}
.logout-button:hover{background:#13283d}
.nav-toggle{
  display:none;
  align-items:center;
  gap:8px;
  background:#0b1726;
  color:white;
  border:1px solid rgba(255,255,255,.12);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:800;
}
.guest-nav{display:flex;align-items:center;gap:12px}
.container{
  width:min(1280px,94%);
  margin:32px auto;
  min-height:calc(100vh - 190px);
}
.card{
  background:linear-gradient(160deg,rgba(19,37,58,.92),rgba(9,20,33,.94));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
  border-radius:22px;
}
.pagehead h1{
  background:linear-gradient(90deg,#ffffff,#bbd0e8);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.pagehead .btn.primary,.guest-nav .btn.primary{
  box-shadow:0 12px 25px rgba(68,229,231,.18);
}
.hero .card,.stat,.vehicle-card,.faction-card,.interior-card{backdrop-filter:blur(8px)}
.stat{
  background:linear-gradient(180deg,rgba(10,24,40,.92),rgba(10,19,31,.92));
  border-radius:18px;
}
.dashboard-module,
.vehicle-card,
.faction-card,
.interior-card{
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}
footer{
  background:rgba(4,10,18,.75);
  backdrop-filter:blur(8px);
  border-top:1px solid rgba(255,255,255,.08);
}
@media (max-width: 1080px){
  .topbar-shell{flex-direction:column;align-items:stretch}
  .pc-nav{display:none;flex-direction:column;align-items:stretch}
  .topbar.redesign.nav-open .pc-nav{display:flex}
  .nav-groups,.nav-actions{width:100%}
  .nav-groups{flex-direction:column;align-items:stretch}
  .nav-group{width:100%}
  .nav-menu{
    position:static;
    margin:0 10px 10px;
    min-width:0;
  }
  .nav-actions{justify-content:stretch}
  .nav-actions>*{width:100%}
  .nav-toggle{display:inline-flex}
  .user-chip{min-width:0}
}
@media (max-width: 700px){
  .brand-logo img{width:54px;height:54px;border-radius:16px}
  .brand-copy strong{font-size:20px}
  .brand-copy small{font-size:10px;letter-spacing:1.8px}
  .topbar.redesign{padding:14px 14px}
  .container{width:min(96%,96%)}
}


/* V8.0 — Banque, fiches de paie et administration des factions */
.threefields{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.form-section{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line)}
.form-section:last-of-type{border-bottom:0}
.faction-create-form{max-width:1000px;margin:0 auto}
.faction-create-form .admin-button{border:0;cursor:pointer}

.payslip-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}
.payslip-summary>div{padding:12px 16px;background:#091624;border:1px solid var(--line);border-radius:14px}
.payslip-summary small,.payslip-summary b{display:block}
.payslip-summary b{font-size:28px;color:var(--cyan)}
.payslip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px;margin-bottom:32px}
.payslip-card{border-top:4px solid var(--pink);transition:.18s transform,.18s border-color}
.payslip-card:hover{transform:translateY(-3px);border-color:#ff86bd}
.payslip-card-head{display:flex;justify-content:space-between;align-items:center}
.payslip-icon{width:56px;height:66px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#fff,#f0bad4);color:#35122a;font-weight:900}
.payslip-card dl{grid-template-columns:105px 1fr}
.payroll-row{display:grid;grid-template-columns:170px minmax(180px,1fr) minmax(180px,1fr) 120px 120px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.payroll-row:hover{background:#13283d}
.payroll-head{color:var(--muted);font-weight:800}
.payslip-sheet{max-width:930px;margin:0 auto}
.payslip-sheet-header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:20px}
.payslip-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.payslip-parties section{background:#091624;border:1px solid var(--line);border-radius:14px;padding:18px}
.payslip-parties small,.payslip-parties b,.payslip-parties span{display:block}
.payslip-amounts{display:grid;gap:10px;margin:20px 0}
.payslip-amounts>div{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:#091624}
.payslip-amounts .net{background:linear-gradient(90deg,#0d3540,#152b42);border-color:var(--cyan)}
.payslip-amounts .net b{font-size:22px;color:var(--cyan)}
.payroll-manager{border-top:3px solid var(--pink)}
.payroll-list{display:grid}
.payroll-list>a{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.payroll-list small{display:block}

.bank-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(315px,1fr));gap:20px}
.bank-account-card{min-height:285px;position:relative;overflow:hidden;transition:.18s transform,.18s border-color}
.bank-account-card::after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;right:-80px;top:-90px;background:radial-gradient(circle,var(--cyan),transparent 68%);opacity:.16}
.bank-account-card.frozen{border-color:#d89522}.bank-account-card.closed{opacity:.72}
.bank-account-card:hover{transform:translateY(-4px);border-color:var(--cyan)}
.bank-card-top{display:flex;justify-content:space-between;align-items:center}
.bank-owner-type{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);font-weight:900}
.bank-chip{width:46px;height:33px;border-radius:7px;background:linear-gradient(145deg,#ffdf78,#ba7e20);margin:26px 0 18px;box-shadow:inset 0 0 0 2px #fff3}
.bank-account-card h2{margin:0}.bank-account-card p{margin:3px 0;color:var(--muted)}
.bank-account-number{margin-top:20px;font-family:Consolas,monospace;letter-spacing:2px;color:#b8cbe0}
.bank-balance{font-size:34px;font-weight:900;margin-top:10px}
.bank-permissions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}
.bank-permissions span{font-size:11px;padding:5px 8px;background:#091624;border:1px solid var(--line);border-radius:999px;color:var(--muted)}
.bank-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;min-height:190px;background:linear-gradient(135deg,#0b3b46,#142d4c 50%,#321848)}
.bank-hero.admin{background:linear-gradient(135deg,#441523,#142d4c 58%,#29143d)}
.bank-hero small,.bank-hero b,.bank-hero span{display:block}
.bank-hero b{font-size:48px;line-height:1.1;margin:8px 0}
.bank-hero-number{font-family:Consolas,monospace;font-size:21px;letter-spacing:2px;color:#bcd0e4}
.bank-actions-layout,.bank-admin-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
.savings-balance{padding:15px;background:#091624;border:1px solid var(--line);border-radius:13px;margin-bottom:15px}
.savings-balance small,.savings-balance b,.savings-balance span{display:block}
.savings-balance b{font-size:28px;color:var(--cyan)}
.bank-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.bank-mini-card{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px;border-radius:16px;background:linear-gradient(145deg,#152e49,#29143d);border:1px solid var(--line)}
.bank-mini-card small,.bank-mini-card b{display:block}
.bank-columns{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;margin-top:20px}
.bank-transaction-list{display:grid}
.bank-transaction{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}
.bank-transaction p{margin:2px 0}.bank-transaction small{display:block}
.transaction-sign{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900}
.transaction-sign.positive{background:#123a2e;color:#73e8b4}.transaction-sign.negative{background:#3b1720;color:#ff9ca7}
.positive{color:#73e8b4}.negative{color:#ff9ca7}
.bank-side-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.bank-side-row small{display:block}
.bank-notification{padding:11px 0;border-bottom:1px solid var(--line)}
.bank-notification p{margin:0 0 4px}
.bank-admin-stats{grid-template-columns:repeat(2,minmax(220px,1fr))}
.bank-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px}
.bank-admin-table{padding:0}
.bank-admin-row{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(170px,1fr) 110px 130px 100px;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.bank-admin-row:hover{background:#13283d}.bank-admin-row small{display:block}
.bank-admin-head{font-weight:800;color:var(--muted)}
.admin-module[href*="/bank"]>span{background:linear-gradient(135deg,#e6495f,#7e1736)}
.admin-module[href*="/factions"]>span{background:linear-gradient(135deg,#ff9b3d,#e63a68)}
.admin-module[href*="/payslips"]>span{background:linear-gradient(135deg,#21c7c9,#6464db)}

@media(max-width:1000px){
  .threefields{grid-template-columns:1fr 1fr}
  .bank-columns,.bank-admin-layout{grid-template-columns:1fr}
  .payroll-row{grid-template-columns:140px 1fr 130px}
  .payroll-row>span:nth-child(3),.payroll-row>span:nth-child(5){display:none}
}
@media(max-width:800px){
  .threefields,.payslip-summary,.payslip-parties,.bank-actions-layout,.bank-admin-actions{grid-template-columns:1fr}
  .bank-hero{display:block}.bank-hero-number{margin-top:25px;font-size:16px}
  .bank-hero b{font-size:38px}
  .bank-transaction{grid-template-columns:38px 1fr}.bank-transaction>strong{grid-column:2}
  .bank-admin-row{grid-template-columns:1fr 110px}
  .bank-admin-row>span:nth-child(2),.bank-admin-row>span:nth-child(3),.bank-admin-row>span:nth-child(5){display:none}
  .payroll-list>a{grid-template-columns:1fr auto}.payroll-list>a>.status{grid-column:1/-1;width:max-content}
}


/* V8.1 — Logos de faction sur les fiches de paie */
.payslip-employer-brand{display:flex;align-items:center;gap:18px;min-width:0}
.payslip-employer-brand h2{margin:3px 0}
.payslip-employer-brand p{margin:0;color:var(--muted)}
.payslip-faction-logo{
  width:82px;
  height:82px;
  flex:0 0 82px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:20px;
  background:linear-gradient(145deg,#f8fdff,#dbe9f1);
  border:3px solid var(--faction-color,var(--cyan));
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
.payslip-faction-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  padding:6px;
}
.payslip-faction-logo span{
  color:var(--faction-color,var(--cyan));
  font-size:24px;
  font-weight:900;
  letter-spacing:1px;
}
@media(max-width:700px){
  .payslip-sheet-header{align-items:flex-start}
  .payslip-faction-logo{width:66px;height:66px;flex-basis:66px;border-radius:16px}
  .payslip-employer-brand{gap:12px}
}


/* V8.3 — Refonte de la page d'accueil */
.btn.ghost{
  background:rgba(255,255,255,.04);
  color:#f5fbff;
  border:1px solid rgba(255,255,255,.12);
}
.btn.ghost:hover{border-color:rgba(68,229,231,.35);background:#102133}
.section-block{margin:42px 0 56px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-head h2,.home-split h2{font-size:38px;line-height:1.05;margin:8px 0 0}
.section-lead{max-width:620px;color:var(--muted);font-size:16px}
.home-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:28px;align-items:center;min-height:600px;padding-top:10px}
.home-hero-copy h1{font-size:clamp(44px,6vw,76px);line-height:.96;letter-spacing:-3.5px;margin:18px 0 24px}
.home-hero-copy p{font-size:18px;color:var(--muted);max-width:690px}
.home-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:28px}
.hero-mini-stat{background:rgba(9,22,37,.7);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px 14px;backdrop-filter:blur(10px)}
.hero-mini-stat strong{display:block;font-size:28px;line-height:1;color:#fff}
.hero-mini-stat span{display:block;margin-top:8px;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.home-hero-visual{position:relative;padding-left:20px}
.hero-main-poster{padding:14px;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.24)}
.hero-main-poster img{display:block;width:100%;height:auto;border-radius:22px}
.hero-floating-card{position:absolute;left:-10px;bottom:22px;width:min(310px,70%);background:rgba(8,19,33,.92);border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 40px rgba(0,0,0,.3)}
.hero-floating-label{display:block;color:var(--cyan);font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px}
.hero-floating-card h3{margin:0 0 10px;font-size:24px}
.hero-floating-card ul{margin:0;padding-left:18px;color:#dce8f5}.hero-floating-card li+li{margin-top:6px}
.home-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-stat-card{position:relative;overflow:hidden;min-height:124px}
.home-stat-card::before{content:'';position:absolute;inset:auto -50px -50px auto;width:120px;height:120px;border-radius:50%;opacity:.16}
.home-stat-card span{display:block;color:var(--muted);font-size:13px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.home-stat-card strong{display:block;margin-top:18px;font-size:42px;line-height:1.05}
.home-stat-card.accent-cyan::before{background:var(--cyan)}
.home-stat-card.accent-pink::before{background:var(--pink)}
.home-stat-card.accent-violet::before{background:#8c66ff}
.home-stat-card.accent-gold::before{background:#ffce73}
.home-split{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:22px;align-items:start}
.home-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.feature-card{display:flex;gap:16px;align-items:flex-start;min-height:160px}
.feature-icon{width:58px;height:58px;flex:0 0 58px;border-radius:16px;display:grid;place-items:center;font-size:26px;background:linear-gradient(135deg,rgba(68,229,231,.2),rgba(255,79,154,.18));border:1px solid rgba(255,255,255,.08)}
.feature-card h3{margin:2px 0 8px;font-size:21px}.feature-card p{margin:0;color:var(--muted)}
.home-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.city-card{padding:14px;overflow:hidden}.city-card img{display:block;width:100%;height:260px;object-fit:cover;border-radius:18px}.city-card-body{padding:14px 6px 8px}.city-card-body h3{margin:10px 0 8px;font-size:24px}.city-card-body p{margin:0;color:var(--muted)}
@media(max-width:1150px){
  .home-hero{grid-template-columns:1fr;gap:24px;min-height:auto}
  .home-hero-visual{padding-left:0}.hero-floating-card{left:18px}
  .home-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-split{grid-template-columns:1fr}.home-gallery-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .section-head{display:block}.section-head h2,.home-split h2{font-size:31px}
  .home-hero-copy h1{letter-spacing:-2px}
  .hero-mini-stats,.home-stats-grid,.home-feature-list,.home-gallery-grid{grid-template-columns:1fr}
  .hero-floating-card{position:static;width:100%;margin-top:16px}
  .city-card img{height:auto}
}


/* V8.4 — Correctif navbar et VIN */
.topbar.redesign{z-index:1000;overflow:visible}
.topbar-shell,.pc-nav,.nav-groups{overflow:visible}
.nav-groups{position:relative;isolation:isolate}
.nav-group{z-index:1}
.nav-group[open]{z-index:210}
.nav-group summary{position:relative;z-index:2;user-select:none}
.nav-menu{
  z-index:220;
  width:max-content;
  min-width:230px;
  max-width:min(310px,calc(100vw - 32px));
  white-space:normal;
  box-shadow:0 20px 55px rgba(0,0,0,.42);
}
.nav-menu a{overflow-wrap:anywhere}

.vehicle-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.vehicle-card{min-width:0;overflow:hidden}
.vehicle-card h2{overflow-wrap:anywhere}
.vehicle-card dl{
  grid-template-columns:minmax(112px,42%) minmax(0,1fr);
  align-items:start;
  width:100%;
}
.vehicle-card dt,.vehicle-card dd{min-width:0;margin:0}
.vehicle-card dd{
  max-width:100%;
  text-align:right;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.vehicle-card .vehicle-vin{
  font-family:Consolas,"Courier New",monospace;
  font-size:12px;
  line-height:1.45;
  letter-spacing:.15px;
  word-break:break-all;
  color:#e8f0f8;
}

@media(max-width:1080px){
  .nav-group[open]{z-index:auto}
  .nav-menu{width:auto;max-width:none;box-shadow:none}
}
@media(max-width:520px){
  .vehicle-card dl{grid-template-columns:1fr;gap:3px 0}
  .vehicle-card dd{text-align:left;margin-bottom:9px}
}


/* V9.0 — Notifications, dossiers, automobile, immobilier, matériel, sécurité */
.notification-center{position:relative}.notification-center>summary{position:relative;list-style:none;width:54px;height:54px;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;cursor:pointer;background:#0b1929}.notification-center>summary::-webkit-details-marker{display:none}.notification-bell{font-size:21px}.notification-count{position:absolute;right:-5px;top:-5px;min-width:23px;height:23px;padding:0 5px;border-radius:999px;background:var(--pink);color:#fff;font-size:11px;font-weight:900;display:grid;place-items:center;box-shadow:0 5px 18px rgba(255,79,154,.4)}.notification-count[hidden]{display:none}.notification-popover{position:absolute;right:0;top:64px;width:min(390px,calc(100vw - 30px));z-index:250;background:#091523;border:1px solid var(--line);border-radius:20px;box-shadow:0 26px 65px rgba(0,0,0,.5);overflow:hidden}.notification-popover-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.notification-preview-list{max-height:480px;overflow:auto}.notification-preview{display:grid;grid-template-columns:38px 1fr;gap:11px;padding:14px 17px;border-bottom:1px solid rgba(255,255,255,.06)}.notification-preview.unread{background:rgba(68,229,231,.07);box-shadow:inset 3px 0 var(--cyan)}.notification-preview>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#10243a}.notification-preview b,.notification-preview small,.notification-preview time{display:block}.notification-preview small{color:var(--muted);margin:4px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-preview time{font-size:11px;color:#718aa3}.notification-empty{padding:28px;text-align:center;color:var(--muted)}
.notification-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.notification-list{display:grid;gap:12px}.notification-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:15px;align-items:center}.notification-item.unread{border-color:rgba(68,229,231,.42);box-shadow:inset 4px 0 var(--cyan)}.notification-item-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(145deg,#12334a,#25143b);display:grid;place-items:center;font-size:24px}.notification-item h3{margin:0 0 5px}.notification-item p{margin:0;color:var(--muted)}.notification-item small{display:block;margin-top:7px}.notification-preferences label.check{margin:10px 0}
.character-dossier-card .btn{margin-top:14px}.character-dossier-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);gap:20px}.character-profile-hero{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:20px}.character-avatar-xl{width:100px;height:100px;border-radius:28px;display:grid;place-items:center;font-size:36px;font-weight:900;background:linear-gradient(145deg,var(--pink),#775cff)}.identity-grid,.character-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.identity-grid>div,.character-summary-grid>div{background:#091624;border:1px solid var(--line);border-radius:13px;padding:14px}.identity-grid small,.identity-grid b,.character-summary-grid small,.character-summary-grid b{display:block}.dossier-section{margin-top:18px}.dossier-table{display:grid}.dossier-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.4fr) 140px;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.skill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.skill-card{padding:13px;border-radius:13px;background:#091624;border:1px solid var(--line)}.skill-card-head{display:flex;justify-content:space-between}.profile-photo{width:100%;max-height:250px;object-fit:contain;border-radius:18px;background:#07111d}.staff-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.vehicle-pagehead p{color:var(--muted)}.vehicle-command-card{display:grid;grid-template-columns:1fr minmax(330px,.65fr);gap:26px;align-items:center;background:linear-gradient(135deg,#102b42,#101e35 55%,#291638)}.vehicle-command-main{display:flex;align-items:center;gap:20px}.vehicle-mark.xlarge{width:92px;height:92px;border-radius:25px;font-size:30px;display:grid;place-items:center;background:linear-gradient(145deg,var(--cyan),#5574ff);color:#05111b;font-weight:900}.vehicle-identity-list{grid-template-columns:140px 1fr}.vin-value{overflow-wrap:anywhere;word-break:break-all;font-family:Consolas,monospace}.vehicle-live-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0}.vehicle-gauge span,.vehicle-gauge small{display:block;color:var(--muted)}.vehicle-gauge strong{display:block;font-size:29px;margin:11px 0}.mini-progress{height:8px;border-radius:999px;background:#06111d;overflow:hidden}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),#61a6ff)}.mini-progress.health i{background:linear-gradient(90deg,#55e3ad,#d8e951)}.mini-progress.battery i{background:linear-gradient(90deg,#8a66ff,var(--pink))}.vehicle-advanced-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px}.vehicle-main-column{display:grid;gap:18px}.vehicle-sidebar{display:grid;gap:18px;align-content:start}.insurance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.insurance-summary>div{padding:15px;background:#091624;border:1px solid var(--line);border-radius:14px}.insurance-summary small,.insurance-summary b,.insurance-summary span{display:block}.insurance-summary b{font-size:19px;margin:5px 0}.maintenance-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.maintenance-row.status-due{background:rgba(255,181,71,.06);padding:14px}.component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px;margin-bottom:18px}.component-card{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px;background:#091624;border:1px solid var(--line);border-radius:13px}.component-card .mini-progress{grid-column:1/-1}.automotive-tabs{display:grid;gap:22px}.automotive-tabs section+section{padding-top:18px;border-top:1px solid var(--line)}.vehicle-timeline{position:relative}.vehicle-timeline>div{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:12px;padding:12px 0}.timeline-dot{width:12px;height:12px;margin-top:6px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 6px rgba(255,79,154,.12)}.timeline-dot.fuel{background:var(--cyan);box-shadow:0 0 0 6px rgba(68,229,231,.12)}
.business-showcase{border-top:3px solid var(--pink)}.business-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.business-data-grid>div{padding:14px;background:#091624;border:1px solid var(--line);border-radius:13px}.business-data-grid small,.business-data-grid b{display:block}.business-employee-grid{display:grid;gap:9px}.business-employee{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:14px}.property-bill-list{display:grid}.property-bill{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.property-bill.status-overdue{background:rgba(255,76,95,.06);padding:14px}.permission-fieldset{border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:13px}.permission-fieldset legend{padding:0 8px;color:var(--muted)}
.asset-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px}.asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;margin-bottom:20px}.asset-card-head{display:flex;justify-content:space-between}.asset-icon{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:#10243a;font-size:25px}.asset-card h2{margin:10px 0 6px}.asset-vehicle-stats{display:flex;gap:7px;flex-wrap:wrap}.asset-vehicle-stats span,.bank-permissions span{font-size:11px;padding:5px 8px;border:1px solid var(--line);border-radius:999px}.condition-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:15px 0}.condition-line>div{height:7px;background:#06111d;border-radius:999px;overflow:hidden}.condition-line i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--pink))}.assigned-person{padding:12px;background:#091624;border-radius:13px}.assigned-person small,.assigned-person b,.assigned-person span{display:block}.asset-assign-form,.asset-return-form{display:grid;gap:8px;margin-top:14px}.asset-admin-details{margin-top:12px}.stock-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.stock-grid>div{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:10px;padding:11px;background:#091624;border-radius:12px}.stock-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#17334b}.asset-history-row{display:grid;grid-template-columns:1.2fr 1fr 110px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.asset-history-row.head{font-weight:800;color:var(--muted)}
.security-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.security-score{display:flex;align-items:center;gap:18px}.security-score-ring{width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cyan) var(--score),#14283a 0);position:relative}.security-score-ring::after{content:'';position:absolute;inset:10px;border-radius:50%;background:#0d1d2e}.security-score-ring b{z-index:1;font-size:23px}.security-device-row,.security-user-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.security-device-row small,.security-user-row small{display:block}.security-event-list{display:grid}.security-event{display:grid;grid-template-columns:45px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.security-event-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#10243a}.two-factor-secret{font-family:Consolas,monospace;overflow-wrap:anywhere;padding:14px;background:#07111d;border:1px dashed var(--cyan);border-radius:13px}.security-admin-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px}.security-audit-row{display:grid;grid-template-columns:1.2fr 1fr 130px 170px;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.security-audit-row.head{font-weight:800;color:var(--muted)}.admin-record{padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:1100px){.notification-layout,.character-dossier-grid,.vehicle-advanced-layout,.asset-layout,.security-layout,.security-admin-grid{grid-template-columns:1fr}.vehicle-live-grid{grid-template-columns:1fr 1fr}.vehicle-command-card{grid-template-columns:1fr}.business-data-grid{grid-template-columns:1fr 1fr}.notification-popover{right:-100px}}
@media(max-width:760px){.identity-grid,.character-summary-grid,.insurance-summary,.vehicle-live-grid,.business-data-grid{grid-template-columns:1fr}.character-profile-hero{grid-template-columns:80px 1fr}.character-profile-hero>.status{grid-column:1/-1}.vehicle-command-main{align-items:flex-start}.maintenance-row,.property-bill{grid-template-columns:1fr}.notification-item{grid-template-columns:45px 1fr}.notification-item>form{grid-column:2}.asset-history-row,.security-audit-row{grid-template-columns:1fr}.asset-history-row.head,.security-audit-row.head{display:none}.notification-popover{position:fixed;left:12px;right:12px;top:92px;width:auto}.nav-actions{align-items:center}}

.character-dossier-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px}.dossier-definition-grid{grid-template-columns:170px 1fr}.dossier-document-grid,.dossier-vehicle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.dossier-document-card{display:grid;gap:5px;padding:14px;background:#091624;border:1px solid var(--line);border-radius:14px}.dossier-faction-row,.dossier-vehicle-grid>a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;margin-bottom:9px}.faction-emblem{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--faction-color);color:#07111d;font-weight:900}.skill-grid>div{padding:12px;background:#091624;border-radius:13px}.skill-bar{height:7px;background:#06111d;border-radius:999px;margin:8px 0;overflow:hidden}.skill-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--pink))}.security-account-row{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.3fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);align-items:center}.security-account-row.head{color:var(--muted);font-weight:800}.security-account-row small{display:block}.security-account-actions{display:flex;gap:7px;flex-wrap:wrap}.security-account-actions form{margin:0}@media(max-width:1000px){.character-dossier-layout{grid-template-columns:1fr}.security-account-row{grid-template-columns:1fr 1fr}.security-account-row.head{display:none}}@media(max-width:650px){.security-account-row{grid-template-columns:1fr}.dossier-faction-row{grid-template-columns:auto 1fr}.dossier-faction-row>.status{grid-column:1/-1}}


/* V10.0 — Entreprises, contrats, sanctions, carte et communauté */
.business-grid,.contract-grid,.sanction-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:18px
}
.business-card,.contract-card,.sanction-card{
  border-top:3px solid var(--cyan);
  transition:.18s transform,.18s border-color
}
.business-card:hover,.contract-card:hover,.sanction-card:hover{
  transform:translateY(-3px);
  border-color:var(--pink)
}
.business-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:20px
}
.business-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.business-product,.business-order,.business-shifts>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:14px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}
.business-product small,.business-order small{display:block}
.business-product.low{border-left:4px solid #ffb238;padding-left:12px}
.leave-request{padding:14px 0;border-bottom:1px solid var(--line)}
.leave-request small{display:block}

.contract-create,.contract-sheet{max-width:1050px;margin:0 auto}
.contract-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid var(--line);
  padding-bottom:18px
}
.contract-meta,.sanction-meta,.event-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:20px 0
}
.contract-meta>div,.sanction-meta>div,.event-kpis>div{
  padding:14px;
  background:#091624;
  border:1px solid var(--line);
  border-radius:13px
}
.contract-meta small,.contract-meta b,
.sanction-meta small,.sanction-meta b,
.event-kpis small,.event-kpis b{display:block}
.contract-clauses{
  white-space:normal;
  line-height:1.7;
  padding:20px;
  background:#091624;
  border:1px solid var(--line);
  border-radius:14px
}
.contract-parties{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px
}
.contract-parties>div{
  padding:15px;
  border-radius:13px;
  background:#091624;
  border:1px solid var(--line)
}
.contract-parties small{display:block}
.contract-sign-box{
  margin-top:24px;
  padding:20px;
  border:1px solid var(--cyan);
  border-radius:16px;
  background:#0c2833
}

.sanction-card{border-top-color:#ff566d}
.sanction-sheet{border-left:4px solid #ff566d}
.evidence-link{
  display:block;
  padding:12px;
  border-bottom:1px solid var(--line)
}
.appeal-chat{display:grid;gap:12px;margin:16px 0}
.appeal-chat>div{
  max-width:80%;
  padding:14px;
  border-radius:15px;
  background:#0b1b2b
}
.appeal-chat>.staff{margin-left:auto;background:#33203b}
.staff-sanction-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:20px
}
.staff-sanction-row,.appeal-admin{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:14px;
  border-bottom:1px solid var(--line)
}
.staff-sanction-row small,.appeal-admin small{display:block}

.map-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:20px
}
.map-sidebar{align-self:start}
.map-filter{
  display:flex;
  gap:10px;
  align-items:center;
  padding:9px 0
}
.map-result-list{display:grid;margin-top:15px}
.map-result-list button{
  text-align:left;
  background:transparent;
  color:#dce9f6;
  border:0;
  border-bottom:1px solid var(--line);
  padding:10px;
  cursor:pointer
}
.interactive-map,.map-editor{
  position:relative;
  padding:0;
  overflow:hidden;
  min-height:560px
}
.interactive-map>img,.map-editor>img{
  display:block;
  width:100%;
  height:auto
}
.map-marker{
  position:absolute;
  transform:translate(-50%,-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  border:3px solid #fff;
  background:var(--marker-color,var(--cyan));
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 22px #0008;
  z-index:4
}
.map-marker.static{
  width:22px;
  height:22px;
  pointer-events:none
}
.map-popup{
  display:none;
  position:absolute;
  right:20px;
  bottom:20px;
  z-index:10;
  width:min(360px,calc(100% - 40px));
  background:#081624f2;
  border:1px solid var(--line);
  border-radius:18px;
  padding:20px;
  box-shadow:0 20px 50px #0008
}
.map-popup.open{display:block}
.map-popup>[data-map-close]{
  position:absolute;
  right:12px;
  top:8px;
  border:0;
  background:transparent;
  color:white;
  font-size:24px
}
.map-popup small{display:block;margin-bottom:12px}
.staff-map-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:20px
}
.map-admin-row,.community-row{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}
.map-admin-row small,.community-row small{display:block}

.news-grid,.event-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:20px
}
.news-card,.event-card{padding:0;overflow:hidden}
.news-card img,.event-card img,.news-cover{
  width:100%;
  max-height:420px;
  object-fit:cover
}
.news-card>div,.event-card>div{padding:20px}
.news-card h2,.event-card h2{margin:10px 0}
.event-date{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  padding:8px 12px;
  border-radius:12px;
  background:#2b1737;
  color:#ff8ac0;
  text-transform:uppercase
}
.event-date b{font-size:24px}
.event-sheet,.news-article{max-width:1050px;margin:0 auto}
.community-admin-layout,.community-lists{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.community-lists{margin-top:20px}
.home-community-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:1050px){
  .business-layout,.staff-sanction-layout,.map-layout,.staff-map-layout{
    grid-template-columns:1fr
  }
  .business-stats{grid-template-columns:1fr 1fr}
  .community-admin-layout,.community-lists{grid-template-columns:1fr}
  .home-community-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .contract-meta,.sanction-meta,.event-kpis,.business-stats{
    grid-template-columns:1fr
  }
  .business-product,.business-order,.business-shifts>div{
    grid-template-columns:1fr
  }
  .interactive-map,.map-editor{min-height:300px}
  .map-marker{width:34px;height:34px}
  .home-community-grid{grid-template-columns:1fr}
}


/* V10.1 — Création de compte et candidature roleplay */
.registration-shell{
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);
  gap:26px;
  align-items:start
}
.registration-intro{
  position:sticky;
  top:110px;
  padding:28px 10px
}
.registration-intro h1{
  font-size:clamp(42px,5vw,66px);
  line-height:.98;
  letter-spacing:-3px
}
.registration-intro p{font-size:17px;color:var(--muted)}
.registration-steps{display:grid;gap:12px;margin-top:28px}
.registration-steps>div{
  display:flex;
  align-items:center;
  gap:15px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#091624
}
.registration-steps b{font-size:22px;color:var(--cyan)}
.registration-form{max-width:980px}
.application-question{
  padding:20px 0;
  border-bottom:1px solid var(--line)
}
.application-question-head{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:14px;
  align-items:start
}
.application-question-head>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(135deg,#19bfc9,#c6428b);
  font-weight:900
}
.application-question-head h3{margin:0 0 6px}
.application-question-head p{margin:0;color:var(--muted)}
.application-question textarea,
.application-question input{margin-top:13px}
.registration-terms{
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#091624
}
.auth-switch{text-align:center;color:var(--muted);margin-top:18px}
.honeypot{
  position:absolute!important;
  left:-10000px!important;
  opacity:0!important;
  pointer-events:none!important
}
.application-lookup{max-width:620px;margin:0 auto}
.application-status-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.status.large{font-size:15px;padding:10px 16px}
.application-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:18px 0
}
.application-kpis small,
.application-kpis b{display:block}
.application-kpis b{font-size:22px;margin-top:8px}
.application-review-note{border-left:4px solid var(--pink)}
.application-answer-list{display:grid;gap:14px}
.application-answer-list article{
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#091624
}
.application-answer-list article h3,
.application-answer-list article h2{margin-top:0}
.applications-admin-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:20px
}
.application-admin-list{display:grid;gap:12px}
.application-admin-card{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px
}
.application-admin-card h2{margin:5px 0}
.application-admin-card p,
.application-admin-card small{display:block;color:var(--muted)}
.question-admin-list{display:grid;gap:10px}
.question-admin-list>div{
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.question-admin-list small{display:block}
.application-review-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:20px
}
.application-decision-panel{
  position:sticky;
  top:110px;
  align-self:start
}
.application-decision-panel button{
  display:block;
  width:100%;
  margin-top:10px
}
.admin-module[href*="/applications"]>span{
  background:linear-gradient(135deg,#44dfe4,#c14491)
}
@media(max-width:1050px){
  .registration-shell,
  .applications-admin-layout,
  .application-review-layout{grid-template-columns:1fr}
  .registration-intro,
  .application-decision-panel{position:static}
}
@media(max-width:700px){
  .application-status-card{display:block}
  .application-status-card .status{display:inline-block;margin-top:15px}
  .application-kpis{grid-template-columns:1fr}
}


/* V10.2 — Inscription en deux étapes */
.account-first{
  grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr)
}
.account-form{max-width:620px}
.registration-steps>div.active{
  border-color:var(--cyan);
  box-shadow:0 0 0 1px #37d7dc38,0 15px 34px #0004
}
.application-questionnaire-head{
  align-items:flex-end
}
.application-reference-box{
  min-width:250px;
  padding:15px 18px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#091624
}
.application-reference-box small,
.application-reference-box b{display:block}
.application-reference-box b{
  margin-top:6px;
  font-family:monospace;
  font-size:17px;
  overflow-wrap:anywhere
}
.application-progress{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-bottom:18px
}
.application-progress span{
  padding:12px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:13px;
  color:var(--muted);
  background:#091624
}
.application-progress span.done{
  color:#79efb7;
  border-color:#2d9067
}
.application-progress span.active{
  color:white;
  border-color:var(--cyan);
  background:#0b2c36
}
.tracking-key-card{
  display:grid;
  grid-template-columns:minmax(240px,.7fr) minmax(300px,1.3fr);
  gap:20px;
  align-items:center;
  border-left:4px solid var(--cyan)
}
.tracking-key-card.compact{
  margin:16px 0
}
.tracking-key-card input{
  font-family:monospace;
  font-size:13px;
  overflow:hidden;
  text-overflow:ellipsis
}
.questionnaire-form{
  max-width:1050px;
  margin:0 auto
}
.questionnaire-form .application-question{
  padding:24px 0
}
.questionnaire-form .application-question-head h2{
  margin:0 0 7px;
  font-size:20px
}
.questionnaire-form .application-question-head small{
  color:var(--cyan)
}
.questionnaire-submit{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding-top:24px
}
.questionnaire-submit p{
  margin:0;
  color:var(--muted)
}
.unfinished-application{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  margin:18px 0;
  border-left:4px solid var(--pink)
}
.unfinished-application h2{
  margin:6px 0
}
@media(max-width:800px){
  .account-first{grid-template-columns:1fr}
  .application-progress{grid-template-columns:1fr}
  .tracking-key-card{grid-template-columns:1fr}
  .unfinished-application,
  .questionnaire-submit{
    display:block
  }
  .unfinished-application .btn,
  .questionnaire-submit .btn{
    width:100%;
    margin-top:15px
  }
}


/* V10.3 — Règlement et carte réelle HD */
.application-progress.four-steps{
  grid-template-columns:repeat(4,1fr)
}
.rules-pagehead{align-items:flex-end}
.rules-layout{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:20px;
  align-items:start
}
.rules-summary{
  position:sticky;
  top:110px;
  display:grid;
  gap:4px
}
.rules-summary a{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:10px;
  color:var(--text);
  border-radius:11px
}
.rules-summary a:hover{background:#0d2435}
.rules-summary a span{
  color:var(--cyan);
  font-family:monospace;
  font-weight:800
}
.rules-document{padding:30px}
.rules-document header{
  padding-bottom:22px;
  border-bottom:1px solid var(--line)
}
.rules-document>section{
  padding:24px 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:120px
}
.rules-document>section h2{margin:0 0 12px}
.rules-document>section p{
  margin:0;
  color:#c7d5e4;
  line-height:1.75
}
.rules-document footer{
  padding-top:20px
}
.rules-document footer small,
.rules-document footer code{display:block}
.rules-document footer code{
  margin-top:8px;
  padding:12px;
  overflow-wrap:anywhere;
  color:var(--cyan);
  background:#07131f;
  border-radius:10px
}
.rules-acceptance{
  margin-top:18px;
  border-left:4px solid var(--pink)
}
.rules-acceptance .check{
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#091624
}

.real-interactive-map{
  min-height:720px;
  background:#031425;
  user-select:none
}
.map-toolbar{
  position:absolute;
  top:14px;
  right:14px;
  z-index:30;
  display:flex;
  gap:7px;
  padding:7px;
  border:1px solid #ffffff24;
  border-radius:13px;
  background:#061522dc;
  backdrop-filter:blur(12px)
}
.map-toolbar .btn{
  min-width:44px;
  padding:8px 11px
}
.map-viewport{
  position:absolute;
  inset:0;
  overflow:hidden;
  cursor:grab;
  touch-action:none
}
.map-viewport.dragging{cursor:grabbing}
.map-stage{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  transform-origin:0 0;
  will-change:transform
}
.map-stage>img{
  display:block;
  width:100%;
  height:auto;
  pointer-events:none
}
.real-interactive-map .map-marker{
  transform:translate(-50%,-50%);
  transition:.15s transform,.15s filter
}
.real-interactive-map .map-marker:hover{
  transform:translate(-50%,-50%) scale(1.18);
  filter:brightness(1.15)
}
.real-interactive-map .map-popup{
  position:absolute;
  z-index:40
}
.real-interactive-map:fullscreen{
  width:100vw;
  height:100vh;
  border-radius:0
}
.real-interactive-map:fullscreen .map-viewport{
  inset:0
}
.map-help{
  margin-top:18px;
  padding:13px;
  border-radius:12px;
  background:#091624;
  border:1px solid var(--line)
}
.map-help b,.map-help small{display:block}
.map-help small{margin-top:5px;color:var(--muted);line-height:1.5}
.map-editor>img{
  width:100%;
  height:auto;
  object-fit:contain
}
@media(max-width:1050px){
  .rules-layout{grid-template-columns:1fr}
  .rules-summary{position:static}
}
@media(max-width:760px){
  .application-progress.four-steps{grid-template-columns:1fr 1fr}
  .real-interactive-map{min-height:520px}
  .map-toolbar{
    left:10px;
    right:10px;
    justify-content:center
  }
}


/* V10.4 — Notifications RP et éditeur cartographique */
.advanced-map-layout{
  grid-template-columns:minmax(0,1fr) 400px;
  align-items:start
}
.advanced-map-editor{
  position:relative;
  min-width:0;
  padding:0;
  overflow:hidden;
  background:#031321
}
.admin-map-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:14px 16px;
  border-bottom:1px solid var(--line);
  background:#071725
}
.admin-map-toolbar b,
.admin-map-toolbar small{
  display:block
}
.admin-map-toolbar small{
  margin-top:4px;
  color:var(--muted)
}
.admin-map-toolbar small[data-state="success"]{
  color:#79efb7
}
.admin-map-toolbar small[data-state="error"]{
  color:#ff8293
}
.admin-map-toolbar small[data-state="saving"],
.admin-map-toolbar small[data-state="dragging"]{
  color:var(--cyan)
}
.admin-map-toolbar-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end
}
.admin-map-toolbar-actions button{
  min-width:42px;
  height:37px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#0c2030;
  color:#edf8ff;
  font-weight:800;
  cursor:pointer
}
.admin-map-toolbar-actions button:hover{
  border-color:var(--cyan);
  background:#103346
}
.admin-map-hint{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  background:#091a28
}
.admin-map-hint span{
  padding:6px 9px;
  border:1px solid #ffffff17;
  border-radius:999px;
  color:#b9cadd;
  font-size:12px
}
.admin-map-viewport{
  position:relative;
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  cursor:crosshair;
  touch-action:none;
  user-select:none;
  background:#02101d
}
.admin-map-viewport.panning{
  cursor:grabbing
}
.admin-map-stage{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform-origin:0 0;
  will-change:transform
}
.admin-map-stage>img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  user-select:none
}
.admin-map-marker{
  position:absolute;
  z-index:6;
  width:30px;
  height:30px;
  padding:0;
  transform:
    translate(-50%,-50%)
    scale(var(--map-counter-scale,1));
  transform-origin:center;
  border:3px solid #fff;
  border-radius:50%;
  background:var(--marker-color,#8b5cf6);
  color:#fff;
  cursor:grab;
  box-shadow:
    0 6px 18px #000b,
    0 0 0 5px #ffffff19;
  touch-action:none
}
.admin-map-marker>span{
  display:block;
  width:8px;
  height:8px;
  margin:auto;
  border-radius:50%;
  background:#fff
}
.admin-map-marker:hover,
.admin-map-marker.selected{
  z-index:12;
  box-shadow:
    0 8px 24px #000c,
    0 0 0 7px #35e1e64a
}
.admin-map-marker.selected{
  border-color:var(--cyan)
}
.admin-map-marker.dragging{
  z-index:20;
  cursor:grabbing;
  box-shadow:
    0 12px 30px #000d,
    0 0 0 9px #ff4e9d52
}
.admin-map-marker.saving{
  opacity:.65;
  cursor:wait
}
.advanced-map-editor.position-saving .admin-map-marker{
  pointer-events:none
}
.admin-map-marker.draft{
  z-index:15;
  background:#ff3d91;
  border-color:#fff;
  cursor:default;
  pointer-events:none
}
.admin-map-marker.draft>span{
  width:auto;
  height:auto;
  background:transparent;
  font-size:20px;
  line-height:1
}
.advanced-map-editor:fullscreen{
  width:100vw;
  height:100vh;
  border-radius:0
}
.advanced-map-editor:fullscreen .admin-map-viewport{
  height:calc(100vh - 104px);
  width:calc(100vh - 104px);
  max-width:100%;
  margin:auto;
  aspect-ratio:1/1
}
.map-point-editor-card{
  position:sticky;
  top:96px
}
.map-point-editor-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
  margin-bottom:15px
}
.map-point-editor-head h2{
  margin:5px 0 0
}
.map-form-actions{
  margin-top:16px
}
.map-admin-list{
  display:grid
}
.map-admin-row-actions{
  display:flex;
  align-items:center;
  gap:8px
}
.map-admin-row-actions form{
  margin:0
}
.notification-preview[data-type="application"]>span{
  color:#ff83bd
}
@media(max-width:1120px){
  .advanced-map-layout{
    grid-template-columns:1fr
  }
  .map-point-editor-card{
    position:static
  }
}
@media(max-width:720px){
  .admin-map-toolbar{
    display:block
  }
  .admin-map-toolbar-actions{
    justify-content:flex-start;
    margin-top:11px
  }
  .admin-map-toolbar-actions button{
    flex:1
  }
  .admin-map-hint{
    display:grid;
    grid-template-columns:1fr 1fr
  }
  .map-admin-row{
    align-items:flex-start
  }
  .map-admin-row-actions{
    flex-direction:column;
    align-items:stretch
  }
  .map-admin-row-actions .btn{
    width:100%
  }
}

/* V11.0 — Citizen Services, assurances, compte, automobile et forum */
.user-chip-link{
  display:flex!important;
  align-items:center;
  gap:10px;
  text-decoration:none
}
.user-chip-avatar{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #44dfe45c;
  border-radius:12px;
  background:linear-gradient(135deg,#14b9c5,#c23b8b);
  color:#fff;
  font-weight:900
}
.user-chip-avatar img{
  width:100%;
  height:100%;
  object-fit:cover
}

/* Compte */
.account-profile-grid,
.account-security-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px
}
.account-identity-card{
  display:flex;
  align-items:center;
  gap:24px;
  background:
    radial-gradient(circle at 20% 10%,#ce3f8c2b,transparent 45%),
    linear-gradient(135deg,#091a2c,#0b2634)
}
.account-avatar-large{
  flex:0 0 118px;
  width:118px;
  height:118px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:4px solid #fff;
  border-radius:28px;
  background:linear-gradient(135deg,#20cbd2,#cd3f91);
  box-shadow:0 18px 45px #0007
}
.account-avatar-large img{
  width:100%;
  height:100%;
  object-fit:cover
}
.account-avatar-large span{
  font-size:38px;
  font-weight:900
}
.account-identity-card h2{
  margin:6px 0;
  font-size:32px
}
.account-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px
}
.account-badges span{
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#071421
}
.account-badges span.admin{
  color:#ff9bca;
  border-color:#d23c8c55
}
.account-avatar-form{
  display:grid;
  gap:12px;
  margin-bottom:12px
}
.account-avatar-form input[type=file]{
  padding:16px;
  border:1px dashed var(--cyan);
  border-radius:14px;
  background:#071522
}
.account-details-card dl{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:10px 16px
}
.account-details-card dt{color:var(--muted)}
.account-details-card dd{margin:0;font-weight:700}

/* Création de personnage */
.character-create-head{align-items:flex-end}
.character-limit-badge{
  min-width:180px;
  padding:16px 20px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#091826
}
.character-limit-badge small,
.character-limit-badge b{display:block}
.character-limit-badge b{
  margin-top:5px;
  font-size:28px;
  color:var(--cyan)
}
.character-create-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.character-create-layout>.character-skin-card,
.character-create-layout>.character-create-confirmation{
  grid-column:1/-1
}
.character-background-card textarea{min-height:310px}
.skin-choice-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px
}
.skin-choice{
  position:relative;
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:4px;
  padding:15px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:
    radial-gradient(circle at 70% 15%,#42edf03d,transparent 32%),
    linear-gradient(145deg,#0a1d2f,#111b32);
  cursor:pointer
}
.skin-choice input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer
}
.skin-choice:has(input:checked){
  border-color:var(--cyan);
  box-shadow:0 0 0 2px #36e1e52e,0 16px 34px #0005
}
.skin-number{
  position:absolute;
  top:12px;
  right:12px;
  font-size:26px;
  font-weight:900;
  color:#ffffff22
}
.skin-choice b{font-size:17px}
.skin-choice small{color:var(--muted)}
.character-create-confirmation{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-left:5px solid var(--pink)
}

/* Services publics */
.government-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  margin-bottom:20px;
  background:
    linear-gradient(110deg,#112e42e8,#162335e8),
    radial-gradient(circle at 80% 30%,#f6ca7242,transparent 30%)
}
.government-hero h2{
  max-width:800px;
  margin:6px 0 10px;
  font-size:34px
}
.government-seal{
  flex:0 0 110px;
  width:110px;
  height:110px;
  display:grid;
  place-items:center;
  border:5px double #f6ca72;
  border-radius:50%;
  color:#f6ca72;
  font-size:34px;
  font-weight:900;
  box-shadow:0 0 45px #f6ca7226
}
.service-catalog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:22px
}
.service-catalog-card{
  width:100%;
  text-align:left;
  color:inherit;
  cursor:pointer;
  transition:.18s transform,.18s border-color,.18s background
}
.service-catalog-card:hover,
.service-catalog-card.selected{
  transform:translateY(-3px);
  border-color:#f6ca72;
  background:#102437
}
.service-catalog-card.selected{
  box-shadow:0 0 0 2px #f6ca722d,0 16px 35px #0005
}
.service-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  margin-bottom:14px;
  border-radius:16px;
  background:linear-gradient(135deg,#18435c,#0c2638);
  font-size:28px
}
.service-icon.small{
  width:42px;
  height:42px;
  margin:0;
  font-size:20px
}
.service-catalog-card small{color:#f6ca72}
.service-catalog-card h2{margin:6px 0 8px;font-size:21px}
.service-catalog-card p{min-height:67px;color:var(--muted)}
.service-catalog-card footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-top:13px;
  border-top:1px solid var(--line)
}
.service-catalog-card footer b{color:#f6ca72}
.service-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);
  gap:20px
}
.service-request-form-card{scroll-margin-top:100px}
.service-request-list{display:grid}
.service-request-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line)
}
.service-request-row small{display:block;margin-top:4px;color:var(--muted)}
.service-detail-layout,
.staff-service-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:20px
}
.service-show-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap
}
.service-sheet-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:24px
}
.service-sheet-meta>div{
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#071522
}
.service-sheet-meta small,
.service-sheet-meta b{display:block}
.service-sheet-meta b{margin-top:6px}
.payload-list{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:8px 16px
}
.payload-list dt{color:var(--muted)}
.payload-list dd{margin:0;font-weight:700}
.appointment-banner{
  display:flex;
  gap:14px;
  align-items:center;
  margin-top:20px;
  padding:17px;
  border:1px solid #f6ca7266;
  border-radius:15px;
  background:#322b174d
}
.appointment-banner>span{font-size:30px}
.appointment-banner small,
.appointment-banner b{display:block}
.decision-note{
  margin-top:18px;
  padding:17px;
  border-left:4px solid var(--pink);
  border-radius:12px;
  background:#27172d
}
.government-chat,
.insurance-chat{
  display:grid;
  gap:11px;
  margin:16px 0
}
.government-chat article,
.insurance-chat article{
  max-width:82%;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#091826
}
.government-chat article.staff,
.insurance-chat article.staff{
  margin-left:auto;
  border-color:#f6ca7255;
  background:#2c281a
}
.government-chat header,
.insurance-chat header{
  display:flex;
  justify-content:space-between;
  gap:15px
}
.government-chat time,
.insurance-chat time{color:var(--muted);font-size:11px}
.official-document-row{
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.official-document-row>span{font-size:24px}
.official-document-row small{display:block;color:var(--muted)}
.staff-service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.staff-service-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:14px;
  align-items:center
}
.staff-service-card h2{margin:5px 0}
.staff-service-card p{margin:0;color:var(--muted)}
.staff-decision-panel{position:sticky;top:96px}

/* Assurances */
.insurance-hero{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
  background:
    radial-gradient(circle at 80% 25%,#e9429550,transparent 35%),
    linear-gradient(135deg,#071d30,#10293a)
}
.insurance-hero h2{margin:6px 0 10px;font-size:34px}
.insurance-shield{
  font-size:76px;
  filter:drop-shadow(0 15px 30px #0007)
}
.insurance-product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:20px
}
.insurance-product-card{
  width:100%;
  text-align:left;
  color:inherit;
  cursor:pointer;
  transition:.18s transform,.18s border-color
}
.insurance-product-card:hover,
.insurance-product-card.selected{
  transform:translateY(-3px);
  border-color:var(--pink)
}
.insurance-product-card.selected{
  box-shadow:0 0 0 2px #db3d8c32,0 16px 36px #0005
}
.insurance-product-type{
  font-size:10px;
  letter-spacing:.16em;
  color:var(--cyan)
}
.insurance-product-card h2{margin:7px 0}
.insurance-product-card p{min-height:68px;color:var(--muted)}
.insurance-price{
  display:flex;
  align-items:baseline;
  gap:5px;
  padding:13px 0
}
.insurance-price b{font-size:27px;color:#ff83bd}
.insurance-product-card footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:12px
}
.insurance-workspace{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px
}
.insurance-quote-card{scroll-margin-top:100px}
.policy-list{display:grid}
.policy-row,
.insurance-admin-policy-list>a{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid var(--line)
}
.policy-row small,
.insurance-admin-policy-list small{display:block;color:var(--muted);margin-top:4px}
.claim-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px
}
.claim-card{
  position:relative;
  padding:17px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#071624
}
.claim-card h3{margin:12px 0 6px}
.claim-card p{color:var(--muted)}
.insurance-policy-sheet{border-top:4px solid var(--pink)}
.policy-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:23px
}
.policy-kpis>div{
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#071522
}
.policy-kpis small,
.policy-kpis b,
.policy-kpis span{display:block}
.policy-kpis b{margin:6px 0;font-size:19px}
.insurance-claim-stack{display:grid;gap:20px;margin-top:20px}
.claim-amounts{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0
}
.claim-amounts span{
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:999px
}
.claim-evidence{padding:15px 0}
.claim-evidence>a{display:block;margin:8px 0;color:var(--cyan)}
.insurance-admin-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 390px;
  gap:20px
}
.claim-decision-form{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--line)
}

/* Passeport automobile */
.vehicle-passport{
  margin:20px 0;
  background:
    radial-gradient(circle at 88% 20%,#1adce331,transparent 28%),
    linear-gradient(135deg,#071727,#10253a)
}
.vehicle-passport-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center
}
.vehicle-passport-head h2{margin:6px 0}
.vehicle-score-ring{
  --score:80;
  flex:0 0 110px;
  width:110px;
  height:110px;
  display:grid;
  place-content:center;
  text-align:center;
  border-radius:50%;
  background:
    radial-gradient(circle at center,#091827 59%,transparent 60%),
    conic-gradient(var(--cyan) calc(var(--score)*1%),#173148 0)
}
.vehicle-score-ring b{font-size:31px}
.vehicle-score-ring small{color:var(--muted)}
.vehicle-passport-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:20px
}
.vehicle-passport-kpis>div{
  padding:14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#071522cc
}
.vehicle-passport-kpis small,
.vehicle-passport-kpis b,
.vehicle-passport-kpis span{display:block}
.vehicle-passport-kpis b{margin:5px 0;font-size:20px}
.vehicle-history-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px
}
.vehicle-history-list{display:grid}
.vehicle-history-list>div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}
.vehicle-history-list>div>span:first-child{font-size:23px}
.vehicle-history-list small{display:block;margin-top:4px;color:var(--muted)}
.vehicle-history-list p{margin:6px 0 0;color:#c9d7e4}
.vehicle-history-list .recall-stop_drive{
  margin:6px 0;
  padding:13px;
  border:1px solid #ff506b66;
  border-radius:13px;
  background:#35151d
}
.linked-policy-list{display:grid;margin-top:15px}
.linked-policy-list>a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 12px;
  padding:11px 0;
  border-top:1px solid var(--line)
}
.linked-policy-list small{color:var(--muted)}

/* Forum façon Invision / XenForo */
.forum-hero{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  margin-bottom:20px;
  padding:34px;
  background:
    linear-gradient(100deg,#1b1232e8,#07253be8),
    radial-gradient(circle at 80% 20%,#ef4fa553,transparent 35%)
}
.forum-hero h1{
  margin:5px 0;
  font-size:clamp(38px,5vw,62px);
  letter-spacing:-2px
}
.forum-hero-search{
  display:flex;
  gap:8px;
  max-width:690px;
  margin-top:22px
}
.forum-hero-search input{flex:1}
.forum-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  min-width:390px;
  overflow:hidden;
  border:1px solid #ffffff24;
  border-radius:18px;
  background:#071522aa;
  backdrop-filter:blur(12px)
}
.forum-hero-stats>div{
  padding:20px;
  text-align:center;
  border-right:1px solid #ffffff18
}
.forum-hero-stats>div:last-child{border:0}
.forum-hero-stats b,
.forum-hero-stats span{display:block}
.forum-hero-stats b{font-size:26px;color:var(--cyan)}
.forum-hero-stats span{margin-top:4px;color:var(--muted)}
.forum-modern-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 350px;
  gap:20px
}
.forum-node-list{display:grid;gap:18px}
.forum-node-category{padding:0;overflow:hidden}
.forum-node-category>header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  padding:18px 20px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#121c32,#0a2234)
}
.forum-node-category>header>div{
  display:flex;
  gap:12px;
  align-items:center
}
.forum-category-accent{
  width:5px;
  height:44px;
  border-radius:999px;
  background:linear-gradient(var(--cyan),var(--pink))
}
.forum-node-category h2{margin:0}
.forum-node-category p{margin:3px 0 0;color:var(--muted)}
.forum-node{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 150px minmax(230px,.65fr);
  gap:15px;
  align-items:center;
  padding:17px 20px;
  border-bottom:1px solid var(--line);
  transition:.15s background
}
.forum-node:hover{background:#0d2031}
.forum-node:last-child{border-bottom:0}
.forum-node-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:linear-gradient(135deg,#173d52,#25203f);
  font-size:23px
}
.forum-node-main h3{margin:0 0 5px;font-size:18px}
.forum-node-main p{margin:0;color:var(--muted)}
.forum-node-stats{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  text-align:center
}
.forum-node-stats span{
  padding:8px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--muted);
  font-size:11px
}
.forum-node-stats b{display:block;color:#eaf7ff;font-size:16px}
.forum-node-last{
  display:flex;
  gap:10px;
  align-items:center;
  min-width:0
}
.forum-node-last>div{min-width:0}
.forum-node-last b{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis
}
.forum-node-last small{display:block;color:var(--muted);margin-top:4px}
.forum-mini-avatar{
  flex:0 0 38px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:50%;
  background:linear-gradient(135deg,var(--cyan),var(--pink));
  color:white;
  font-size:12px;
  font-weight:900
}
.forum-mini-avatar img{
  width:100%;height:100%;object-fit:cover
}
.forum-sidebar{display:grid;gap:18px;align-content:start}
.forum-sidebar-card{position:sticky;top:96px}
.forum-latest-list{display:grid}
.forum-latest-list>a{
  display:flex;
  gap:11px;
  padding:13px 0;
  border-bottom:1px solid var(--line)
}
.forum-latest-list b,
.forum-latest-list small,
.forum-latest-list time{display:block}
.forum-latest-list small,
.forum-latest-list time{color:var(--muted);font-size:11px;margin-top:3px}
.forum-rules-card{display:flex;gap:14px;align-items:flex-start}
.forum-rules-card>span{font-size:34px}
.forum-rules-card h3{margin:0 0 5px}
.forum-rules-card p{margin:0;color:var(--muted)}
.forum-breadcrumbs{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:12px;
  color:var(--muted);
  font-size:13px
}
.forum-breadcrumbs a{color:var(--cyan)}
.forum-board-head,.forum-thread-head{align-items:flex-end}
.forum-topic-table{padding:0;overflow:hidden}
.forum-topic-table-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) 90px 80px 180px;
  gap:10px;
  padding:12px 18px;
  background:#071522;
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.forum-topic-row{
  display:grid;
  grid-template-columns:34px 44px minmax(0,1fr) 90px 80px 180px;
  gap:10px;
  align-items:center;
  padding:15px 18px;
  border-top:1px solid var(--line)
}
.forum-topic-row:hover{background:#0b2030}
.forum-topic-state{font-size:20px}
.forum-topic-main b{display:block;font-size:16px}
.forum-topic-main small,.forum-topic-last small{display:block;margin-top:4px;color:var(--muted)}
.forum-topic-number{text-align:center;font-weight:800}
.forum-topic-last b{display:block}
.forum-thread-flags{display:flex;gap:7px}
.forum-thread-flags span{
  padding:5px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  font-size:11px
}
.forum-thread-posts{display:grid;gap:15px}
.forum-message-card{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:#081827;
  box-shadow:0 14px 32px #0003
}
.forum-author-pane{
  padding:22px 16px;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0,#cf3f8a2d,transparent 35%),
    #071522;
  border-right:1px solid var(--line)
}
.forum-author-avatar{
  width:102px;
  height:102px;
  display:grid;
  place-items:center;
  overflow:hidden;
  margin:0 auto 12px;
  border:4px solid #fff;
  border-radius:22px;
  background:linear-gradient(135deg,var(--cyan),var(--pink));
  font-size:31px;
  font-weight:900;
  box-shadow:0 12px 30px #0008
}
.forum-author-avatar img{width:100%;height:100%;object-fit:cover}
.forum-author-pane h3{margin:7px 0}
.forum-role-badge{
  display:inline-block;
  padding:5px 9px;
  border-radius:999px;
  background:#123046;
  color:var(--cyan);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase
}
.forum-role-badge.admin{background:#3b1830;color:#ff94c6}
.forum-character-name{display:block;margin-top:9px;color:var(--muted)}
.forum-author-pane dl{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  margin-top:16px;
  text-align:left;
  font-size:11px
}
.forum-author-pane dt{color:var(--muted)}
.forum-author-pane dd{margin:0;text-align:right;font-weight:800}
.forum-message-main{min-width:0}
.forum-message-main>header{
  display:flex;
  justify-content:space-between;
  padding:13px 18px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:12px
}
.forum-message-content{
  min-height:180px;
  padding:25px;
  color:#e1edf7;
  line-height:1.75;
  overflow-wrap:anywhere
}
.forum-edited{
  padding:0 25px 12px;
  color:var(--muted);
  font-size:11px
}
.forum-message-footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 18px;
  border-top:1px solid var(--line);
  background:#071522
}
.forum-reaction-bar{display:flex;gap:6px;flex-wrap:wrap}
.forum-reaction-bar form{margin:0}
.forum-reaction-bar button{
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#0b2030;
  color:#dbe9f5;
  cursor:pointer
}
.forum-reaction-bar button:hover{border-color:var(--cyan)}
.forum-post-menu{position:relative}
.forum-post-menu summary{
  list-style:none;
  cursor:pointer;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:9px
}
.forum-post-menu>div{
  position:absolute;
  right:0;
  bottom:42px;
  min-width:140px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#071522;
  box-shadow:0 15px 35px #0008;
  z-index:20
}
.forum-post-menu button{
  width:100%;
  padding:8px;
  border:0;
  background:transparent;
  color:#e7f2fb;
  text-align:left;
  cursor:pointer
}
.forum-edit-dialog{
  width:min(760px,calc(100vw - 30px));
  border:1px solid var(--line);
  border-radius:18px;
  background:#081827;
  color:#e7f2fb
}
.forum-edit-dialog::backdrop{background:#000a}
.forum-edit-dialog textarea{width:100%}
.forum-edit-dialog form>div{display:flex;justify-content:flex-end;gap:8px}
.forum-reply-composer,
.forum-topic-composer{margin-top:20px}
.forum-composer-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.forum-composer-head h2{margin:0}
.forum-composer-head p{margin:4px 0 0;color:var(--muted)}
.forum-composer-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:12px
}
.forum-composer-actions span{color:var(--muted);font-size:12px}
.forum-pager{margin:15px 0}
.forum-search-page{display:flex;gap:8px}
.forum-search-page input{flex:1}
.forum-search-results{display:grid;gap:10px;margin-top:15px}
.forum-search-results>a{display:flex;gap:12px;align-items:center}
.forum-search-results small{display:block;color:var(--muted);margin-top:5px}

.admin-module[href*="/services"]>span{background:linear-gradient(135deg,#d7aa47,#705826)}
.admin-module[href*="/insurance"]>span{background:linear-gradient(135deg,#ef4c9a,#593160)}
.government-module{border-top:3px solid #f6ca72}
.insurance-module{border-top:3px solid var(--pink)}

@media(max-width:1180px){
  .service-catalog-grid,
  .insurance-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .forum-modern-layout{grid-template-columns:1fr}
  .forum-sidebar-card{position:static}
  .forum-node{grid-template-columns:54px minmax(0,1fr) 130px}
  .forum-node-last{grid-column:2/-1}
  .forum-hero{display:block}
  .forum-hero-stats{margin-top:20px;min-width:0}
}
@media(max-width:1000px){
  .account-profile-grid,
  .account-security-grid,
  .character-create-layout,
  .service-workspace,
  .service-detail-layout,
  .staff-service-detail-layout,
  .insurance-workspace,
  .insurance-admin-layout{
    grid-template-columns:1fr
  }
  .character-create-layout>.character-skin-card,
  .character-create-layout>.character-create-confirmation{grid-column:auto}
  .staff-decision-panel{position:static}
  .service-sheet-meta,
  .policy-kpis,
  .vehicle-passport-kpis{grid-template-columns:1fr 1fr}
  .vehicle-history-grid{grid-template-columns:1fr}
  .skin-choice-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .service-catalog-grid,
  .insurance-product-grid,
  .claim-grid,
  .staff-service-grid{grid-template-columns:1fr}
  .government-hero,
  .insurance-hero,
  .character-create-confirmation,
  .vehicle-passport-head{display:block}
  .government-seal,
  .insurance-shield,
  .vehicle-score-ring{margin-top:20px}
  .account-identity-card{display:block;text-align:center}
  .account-avatar-large{margin:0 auto 18px}
  .account-details-card dl,
  .payload-list{grid-template-columns:1fr}
  .service-sheet-meta,
  .policy-kpis,
  .vehicle-passport-kpis{grid-template-columns:1fr}
  .skin-choice-grid{grid-template-columns:1fr 1fr}
  .forum-hero-stats{grid-template-columns:1fr}
  .forum-hero-stats>div{border-right:0;border-bottom:1px solid #ffffff18}
  .forum-node{grid-template-columns:46px minmax(0,1fr)}
  .forum-node-stats,.forum-node-last{grid-column:2}
  .forum-topic-table-head{display:none}
  .forum-topic-row{grid-template-columns:30px 40px minmax(0,1fr)}
  .forum-topic-number,.forum-topic-last{grid-column:3;text-align:left}
  .forum-message-card{grid-template-columns:1fr}
  .forum-author-pane{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    text-align:left;
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .forum-author-avatar{width:68px;height:68px;margin:0;grid-row:1/5}
  .forum-author-pane dl{display:none}
  .forum-message-footer,.forum-composer-actions{display:block}
  .forum-post-menu{margin-top:10px}
}


/* V11.0.2 — Aperçus des skins et notifications compactes */
.skin-choice-grid{
  grid-template-columns:repeat(5,minmax(180px,1fr));
  gap:15px
}
.skin-choice{
  min-height:0;
  display:block;
  padding:0;
  border-radius:18px;
  background:#081725
}
.skin-preview{
  position:relative;
  display:block;
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:17px 17px 0 0;
  background:
    radial-gradient(circle at 50% 20%,#35dbe83a,transparent 48%),
    #071522
}
.skin-preview::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(transparent,#071522e8);
  pointer-events:none
}
.skin-preview img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  transition:transform .25s ease,filter .25s ease;
  pointer-events:none
}
.skin-choice:hover .skin-preview img{
  transform:scale(1.035);
  filter:brightness(1.08)
}
.skin-choice-body{
  position:relative;
  display:grid;
  gap:4px;
  min-height:88px;
  padding:14px 15px 15px
}
.skin-choice-body .skin-number{
  position:static;
  width:max-content;
  padding:4px 8px;
  border:1px solid #ffffff17;
  border-radius:999px;
  color:var(--cyan);
  background:#0b2030;
  font-size:12px;
  letter-spacing:.05em
}
.skin-choice-body b{
  margin-top:4px;
  font-size:17px
}
.skin-choice-body small{color:var(--muted)}
.skin-selected-badge{
  position:absolute;
  z-index:3;
  top:12px;
  left:12px;
  padding:7px 10px;
  border-radius:999px;
  color:#06131d;
  background:var(--cyan);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  opacity:0;
  transform:translateY(-6px);
  transition:.18s ease
}
.skin-choice:has(input:checked){
  border-color:var(--cyan);
  box-shadow:
    0 0 0 2px #36e1e53d,
    0 18px 40px #0007
}
.skin-choice:has(input:checked) .skin-selected-badge{
  opacity:1;
  transform:none
}
.skin-choice:has(input:checked) .skin-preview img{
  filter:brightness(1.1) saturate(1.08)
}

.notification-popover{
  width:min(420px,calc(100vw - 32px));
  max-height:min(430px,calc(100vh - 115px));
  overflow:hidden
}
.notification-preview-list{
  max-height:360px;
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-gutter:stable
}
.notification-preview{
  grid-template-columns:38px minmax(0,1fr);
  min-width:0;
  padding:13px 15px
}
.notification-preview>div{
  min-width:0;
  max-width:100%;
  overflow:hidden
}
.notification-preview b{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.35
}
.notification-preview small{
  display:-webkit-box;
  margin:4px 0 6px;
  overflow:hidden;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2
}
.notification-preview time{overflow-wrap:anywhere}
.notification-popover-head{padding:14px 16px}

@media(max-width:1200px){
  .skin-choice-grid{
    grid-template-columns:repeat(4,minmax(160px,1fr))
  }
}
@media(max-width:900px){
  .skin-choice-grid{
    grid-template-columns:repeat(3,minmax(150px,1fr))
  }
}
@media(max-width:620px){
  .skin-choice-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .skin-choice-body{
    min-height:82px;
    padding:11px
  }
  .notification-popover{
    left:10px;
    right:10px;
    top:86px;
    width:auto;
    max-height:calc(100vh - 100px)
  }
  .notification-preview-list{
    max-height:calc(100vh - 170px)
  }
}


/* V11.1 — Insurance Factions */
.insurance-faction-button{
  border-color:#5ee6d8;
  background:linear-gradient(135deg,#0b3f47,#1b2443);
  color:#dffffb
}
.insurance-faction-pagehead{
  border-bottom:1px solid color-mix(in srgb,var(--faction-color) 40%,transparent)
}
.insurance-faction-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px
}
.insurance-faction-kpis .card{
  padding:18px;
  min-width:0
}
.insurance-faction-kpis small,
.insurance-faction-kpis b{
  display:block
}
.insurance-faction-kpis small{
  color:var(--muted)
}
.insurance-faction-kpis b{
  margin-top:8px;
  font-size:26px;
  color:var(--cyan);
  overflow-wrap:anywhere
}
.insurance-faction-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:20px;
  align-items:start
}
.insurance-faction-layout>aside{
  display:grid;
  gap:18px;
  position:sticky;
  top:100px
}
.insurance-faction-policy-list{
  display:grid
}
.insurance-faction-policy-list>a{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:16px;
  padding:15px 0;
  border-bottom:1px solid var(--line)
}
.insurance-faction-policy-list>a:last-child{
  border-bottom:0
}
.insurance-faction-policy-list small{
  display:block;
  margin-top:5px;
  color:var(--muted);
  overflow-wrap:anywhere
}
.insurance-faction-policy-list strong{
  color:#7df3d3
}
.insurance-faction-claim-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px
}
.insurance-faction-claim-grid>a{
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#081725
}
.insurance-faction-claim-grid h3{
  margin:13px 0 7px
}
.insurance-faction-claim-grid p{
  margin:0 0 9px;
  color:var(--muted)
}
.insurance-product-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.insurance-product-admin-grid>form{
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#081725
}
.insurance-product-admin-grid h3{
  margin:10px 0 16px
}
.insurance-agent-list{
  display:grid
}
.insurance-agent-list>div{
  padding:11px 0;
  border-bottom:1px solid var(--line)
}
.insurance-agent-list small{
  display:block;
  margin-top:3px;
  color:var(--muted)
}
.insurance-payment-list{
  display:grid;
  gap:10px
}
.insurance-payment-list>div{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#071522
}
.insurance-payment-list small{
  color:var(--muted);
  overflow-wrap:anywhere
}
.insurance-policy-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:20px;
  align-items:start
}
.insurance-policy-layout>aside{
  display:grid;
  gap:18px;
  position:sticky;
  top:100px
}
.insurance-contract-progress{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px
}
.insurance-contract-progress>div{
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--muted);
  background:#071522
}
.insurance-contract-progress b{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#11283a
}
.insurance-contract-progress .active{
  border-color:var(--cyan);
  color:#fff
}
.insurance-contract-progress .done{
  border-color:#2e9a71;
  color:#79efb7;
  background:#09251d
}
.insurance-contract-progress .done b{
  background:#1f7554;
  color:#fff
}
.insurance-signatures{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:24px
}
.insurance-signatures article{
  min-width:0;
  padding:16px;
  border:1px dashed #53697d;
  border-radius:14px;
  background:#071522
}
.insurance-signatures article.signed{
  border-style:solid;
  border-color:#2d9e72;
  background:#09251e
}
.insurance-signatures small,
.insurance-signatures b,
.insurance-signatures span,
.insurance-signatures code{
  display:block
}
.insurance-signatures b{
  margin:7px 0
}
.insurance-signatures span{
  color:var(--muted)
}
.insurance-signatures code{
  margin-top:10px;
  padding:8px;
  border-radius:8px;
  font-size:9px;
  overflow-wrap:anywhere;
  color:#8ce7e9;
  background:#04111c
}
.provider-sign-card,
.customer-sign-card{
  border-left:4px solid var(--cyan)
}
.insurance-claim-review-form{
  margin:18px 0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#071522
}
.insurance-provider-line{
  display:flex;
  align-items:center;
  gap:11px;
  margin-bottom:15px;
  padding-bottom:13px;
  border-bottom:1px solid var(--line)
}
.insurance-provider-line small,
.insurance-provider-line b{
  display:block
}
.insurance-provider-line small{
  color:var(--muted)
}
.insurance-provider-logo{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:2px solid var(--provider-color,var(--cyan));
  border-radius:12px;
  background:#071522;
  font-weight:900
}
.insurance-provider-logo img{
  width:100%;
  height:100%;
  object-fit:cover
}
.insurance-provider-logo.large{
  width:72px;
  height:72px;
  flex:0 0 72px;
  border-color:var(--cyan);
  font-size:20px
}
.insurance-provider-card{
  display:flex;
  align-items:center;
  gap:18px
}
.insurance-provider-card h2{
  margin:5px 0
}
.faction-offer-grid .insurance-product-card{
  border-top:3px solid var(--provider-color,var(--cyan))
}
.faction-offer-grid .insurance-product-card.selected{
  box-shadow:
    0 0 0 2px color-mix(in srgb,var(--provider-color,var(--cyan)) 55%,transparent),
    0 18px 42px #0007
}
@media(max-width:1300px){
  .insurance-faction-kpis{
    grid-template-columns:repeat(3,1fr)
  }
}
@media(max-width:1100px){
  .insurance-faction-layout,
  .insurance-policy-layout{
    grid-template-columns:1fr
  }
  .insurance-faction-layout>aside,
  .insurance-policy-layout>aside{
    position:static
  }
  .insurance-product-admin-grid{
    grid-template-columns:1fr
  }
}
@media(max-width:820px){
  .insurance-faction-claim-grid{
    grid-template-columns:1fr 1fr
  }
  .insurance-contract-progress{
    grid-template-columns:1fr 1fr
  }
  .insurance-signatures{
    grid-template-columns:1fr
  }
}
@media(max-width:620px){
  .insurance-faction-kpis{
    grid-template-columns:1fr 1fr
  }
  .insurance-faction-claim-grid{
    grid-template-columns:1fr
  }
  .insurance-faction-policy-list>a{
    grid-template-columns:1fr
  }
  .insurance-contract-progress{
    grid-template-columns:1fr
  }
  .insurance-provider-card{
    align-items:flex-start
  }
}

/* V11.2 — Government Factions et correctifs assets */
.government-faction-button{
  border-color:#5de8ff;
  background:linear-gradient(135deg,#123c54,#261d4a);
  color:#e7fbff
}
.government-faction-kpis{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px
}
.government-faction-kpis .card{padding:18px;min-width:0}
.government-faction-kpis small,.government-faction-kpis b{display:block}
.government-faction-kpis small{color:var(--muted)}
.government-faction-kpis b{margin-top:8px;font-size:27px;color:var(--cyan);overflow-wrap:anywhere}
.government-faction-layout,
.government-request-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:20px;
  align-items:start
}
.government-faction-layout>aside,
.government-request-layout>aside{
  display:grid;
  gap:18px;
  position:sticky;
  top:100px
}
.government-request-table{display:grid}
.government-request-table>a{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  align-items:center;
  gap:14px;
  padding:14px 0;
  border-bottom:1px solid var(--line)
}
.government-request-table>a:last-child{border-bottom:0}
.government-request-table small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}
.priority{padding:5px 9px;border-radius:999px;background:#10263a;color:#b9c9da;font-size:11px;font-weight:800}
.priority.high,.priority.urgent{background:#3b1725;color:#ff9db6}
.priority.low{background:#13251f;color:#8de4bd}
.government-document-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px
}
.government-document-grid>article{
  padding:16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#081725
}
.government-document-grid span{color:var(--cyan);font-size:12px;font-weight:900;text-transform:uppercase}
.government-document-grid h3{margin:9px 0 7px}
.government-document-grid p,.government-document-grid small{color:var(--muted)}
.government-service-admin-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px
}
.government-service-admin-grid>form{
  padding:18px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#081725
}
.government-service-admin-grid h3{margin:8px 0}
.government-service-admin-grid p{color:var(--muted);min-height:48px}
.government-agent-list,.government-payment-list{display:grid;gap:9px}
.government-agent-list>div,
.government-payment-list>div{
  padding:11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#071522
}
.government-agent-list small,.government-payment-list small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}
.government-payment-list>div{display:grid;gap:5px}
.government-provider-line{
  display:flex;
  gap:11px;
  align-items:center;
  padding-bottom:12px;
  margin-bottom:12px;
  border-bottom:1px solid var(--line)
}
.government-provider-line small,.government-provider-line b{display:block}
.government-provider-line small{color:var(--muted)}
.government-provider-logo{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  overflow:hidden;
  flex:0 0 46px;
  border:2px solid var(--government-color,var(--cyan));
  border-radius:13px;
  background:#071522;
  font-weight:900
}
.government-provider-logo img{width:100%;height:100%;object-fit:cover}
.government-provider-logo.large{width:72px;height:72px;flex-basis:72px;font-size:20px;border-color:var(--cyan)}
.government-provider-card{display:flex;align-items:center;gap:18px}
.government-provider-card h2{margin:4px 0}
.government-offer-grid .service-catalog-card{border-top:3px solid var(--government-color,var(--cyan))}
.government-offer-grid .service-catalog-card.selected{
  box-shadow:0 0 0 2px color-mix(in srgb,var(--government-color,var(--cyan)) 55%,transparent),0 18px 42px #0007
}
.official-issue-card{border-left:4px solid var(--cyan)}
@media(max-width:1200px){
  .government-faction-kpis{grid-template-columns:repeat(3,1fr)}
  .government-document-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:1050px){
  .government-faction-layout,.government-request-layout{grid-template-columns:1fr}
  .government-faction-layout>aside,.government-request-layout>aside{position:static}
  .government-service-admin-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .government-faction-kpis{grid-template-columns:1fr 1fr}
  .government-request-table>a{grid-template-columns:38px 1fr}
  .government-request-table .priority,.government-request-table .status{width:max-content}
  .government-document-grid{grid-template-columns:1fr}
  .government-provider-card{align-items:flex-start}
}


/* V11.2.1 — devis, navbar, banque et avatar */
.faction-action-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:52px;
  padding:13px 20px;
  border:1px solid #ffffff18;
  border-radius:13px;
  color:#f2fbff;
  box-shadow:0 12px 28px #0004;
  transition:
    transform .18s ease,
    filter .18s ease,
    border-color .18s ease;
}
.faction-action-button:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
  border-color:#ffffff38
}
.faction-bank-button{
  background:linear-gradient(135deg,#725818,#2c6b5b);
}
.faction-assets-button{
  color:#041522;
  background:linear-gradient(135deg,#36dbe2,#67b9ff);
}
.insurance-faction-button{
  background:linear-gradient(135deg,#07525b,#22315d);
}
.government-faction-button{
  background:linear-gradient(135deg,#463a8f,#a33d80);
}
.nav-group summary{
  display:flex;
  align-items:center;
  gap:9px
}
.nav-summary-icon{
  display:inline-grid;
  place-items:center;
  width:25px;
  height:25px;
  font-size:16px
}
.nav-menu a{
  display:flex;
  align-items:center;
  gap:11px
}
.nav-link-icon{
  width:23px;
  flex:0 0 23px;
  text-align:center;
  filter:saturate(.9)
}
.user-chip-avatar{
  position:relative;
  overflow:hidden
}
.user-chip-avatar img,
.user-chip-avatar .avatar-fallback{
  width:100%;
  height:100%
}
.user-chip-avatar img{
  display:block;
  object-fit:cover
}
.user-chip-avatar .avatar-fallback{
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(145deg,var(--cyan),var(--pink));
  font-weight:900
}
.user-chip-avatar .avatar-fallback[hidden]{
  display:none
}
@media(max-width:760px){
  .faction-action-button{
    width:100%
  }
}


/* V12.0 — Performance & Command Center */
.nav-menu a.active{
  color:#fff;
  background:linear-gradient(90deg,#29d9dd24,#ff4e9d1f);
  box-shadow:inset 3px 0 0 var(--cyan)
}

/* Centre d’activité */
.dashboard-activity-card{
  margin-bottom:28px;
  border-color:#31dce630;
  background:
    radial-gradient(circle at 95% 5%,#ff4e9d20,transparent 28%),
    radial-gradient(circle at 5% 100%,#29d9dd18,transparent 30%),
    #0b1c2c
}
.dashboard-activity-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px
}
.dashboard-activity-head h2{
  margin:6px 0
}
.dashboard-activity-head p{
  margin:0;
  color:var(--muted)
}
.dashboard-activity-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px
}
.dashboard-activity-preview>a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:13px;
  border:1px solid var(--line);
  border-radius:13px;
  color:var(--text);
  background:#071522
}
.dashboard-activity-preview>a>.status{
  grid-column:2
}
.dashboard-activity-preview small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  color:var(--muted);
  white-space:nowrap;
  text-overflow:ellipsis
}
.activity-dashboard-clear{
  margin-top:18px;
  padding:14px;
  border:1px solid #35bc8c4a;
  border-radius:12px;
  color:#84edc5;
  background:#08281e
}
.activity-pagehead-actions{
  display:flex;
  gap:10px
}
.activity-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px
}
.activity-summary article{
  padding:20px
}
.activity-summary small,
.activity-summary b{
  display:block
}
.activity-summary small{
  color:var(--muted)
}
.activity-summary b{
  margin-top:8px;
  font-size:34px
}
.activity-summary .urgent{
  border-color:#ff667c56
}
.activity-summary .urgent b{
  color:#ff7187
}
.activity-summary .high{
  border-color:#ffbd5557
}
.activity-summary .high b{
  color:#ffc464
}
.activity-summary .total b{
  color:var(--cyan)
}
.activity-timeline{
  display:grid;
  gap:13px
}
.activity-item{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:18px;
  border-left:4px solid #365268
}
.activity-item.priority-urgent{
  border-left-color:#ff526d;
  background:
    linear-gradient(90deg,#ff526d10,transparent 32%),
    #0b1c2c
}
.activity-item.priority-high{
  border-left-color:#f6b84d
}
.activity-item-icon{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:14px;
  font-size:23px;
  background:#071522
}
.activity-item-top{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:flex-start
}
.activity-item h2{
  margin:7px 0 0;
  font-size:20px
}
.activity-item p{
  margin:9px 0;
  color:#c5d4e4;
  overflow-wrap:anywhere
}
.activity-item footer{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  color:var(--muted);
  font-size:12px
}
.activity-item-actions{
  display:grid;
  gap:8px
}
.activity-item-actions form{
  margin:0
}
.activity-empty{
  padding:54px 24px;
  text-align:center
}
.activity-empty>div{
  font-size:52px
}
.activity-empty h2{
  margin:15px 0 8px
}
.activity-empty p{
  max-width:620px;
  margin:auto;
  color:var(--muted)
}

/* Recherche globale et palette */
.admin-search-trigger{
  display:flex;
  align-items:center;
  gap:8px;
  height:52px;
  padding:0 13px;
  border:1px solid var(--line);
  border-radius:14px;
  color:#dcecf7;
  background:#0b1c2c;
  cursor:pointer
}
.admin-search-trigger:hover{
  border-color:var(--cyan);
  background:#10283b
}
.admin-search-trigger kbd{
  padding:3px 6px;
  border:1px solid #ffffff24;
  border-radius:6px;
  color:var(--muted);
  background:#06121d;
  font-size:10px
}
.command-palette[hidden]{
  display:none
}
.command-palette{
  position:fixed;
  z-index:10000;
  inset:0;
  display:grid;
  place-items:start center;
  padding:11vh 20px 20px
}
.command-palette-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  border:0;
  background:#020813d9;
  backdrop-filter:blur(8px);
  cursor:default
}
.command-palette-panel{
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:72vh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid #ffffff22;
  border-radius:20px;
  background:#081725;
  box-shadow:0 34px 100px #000d
}
.command-palette-panel>header{
  display:grid;
  grid-template-columns:35px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:16px 18px;
  border-bottom:1px solid var(--line)
}
.command-palette-panel>header>span{
  font-size:24px;
  color:var(--cyan)
}
.command-palette-panel input{
  width:100%;
  padding:8px 0;
  border:0;
  outline:0;
  color:#fff;
  background:transparent;
  font-size:18px
}
.command-palette-panel kbd{
  padding:5px 7px;
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--muted);
  background:#06121d
}
.command-palette-results{
  min-height:180px;
  overflow:auto;
  padding:9px
}
.command-palette-help,
.command-palette-loading{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:170px;
  padding:25px;
  color:var(--muted);
  text-align:center
}
.command-palette-loading span{
  width:19px;
  height:19px;
  margin-right:10px;
  border:2px solid #ffffff26;
  border-top-color:var(--cyan);
  border-radius:50%;
  animation:pc-spin .8s linear infinite
}
@keyframes pc-spin{
  to{transform:rotate(360deg)}
}
.command-result-group{
  padding:10px 10px 6px;
  color:var(--cyan);
  font-size:11px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase
}
.command-palette-results a{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:11px;
  border-radius:12px;
  color:var(--text)
}
.command-palette-results a:hover,
.command-palette-results a.selected{
  background:linear-gradient(90deg,#2cdce11f,#ff4e9d18)
}
.command-result-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:11px;
  background:#061521
}
.command-palette-results small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis
}
.command-palette-results a>span:last-child{
  max-width:190px;
  color:var(--muted);
  font-size:12px;
  overflow-wrap:anywhere;
  text-align:right
}
.command-palette-panel>footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 17px;
  border-top:1px solid var(--line);
  background:#06131f
}
.command-palette-panel>footer a{
  color:#a9c8da;
  font-size:12px
}
body.command-palette-open{
  overflow:hidden
}
.staff-global-search-form{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-bottom:20px
}
.staff-global-search-form>span{
  color:var(--cyan);
  font-size:28px
}
.staff-global-search-form input{
  border:0;
  background:transparent;
  font-size:19px
}
.search-results-summary{
  display:flex;
  gap:7px;
  margin:14px 0 19px;
  color:var(--muted)
}
.search-results-summary b{
  color:#fff
}
.staff-search-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px
}
.staff-search-list{
  display:grid
}
.staff-search-list>a{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line);
  color:var(--text)
}
.staff-search-list>a:last-child{
  border-bottom:0
}
.staff-search-icon{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:#071522
}
.staff-search-list small{
  display:block;
  margin-top:3px;
  color:var(--muted)
}
.staff-search-list>a>span:last-child{
  max-width:170px;
  color:var(--muted);
  font-size:12px;
  text-align:right;
  overflow-wrap:anywhere
}
.command-help{
  text-align:center
}
.command-help kbd{
  padding:4px 7px;
  border:1px solid var(--line);
  border-radius:7px;
  background:#06131f
}

/* Command Center */
.admin-command-strip{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px
}
.admin-command-strip>a{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:17px;
  border:1px solid #35dce733;
  border-radius:16px;
  color:var(--text);
  background:
    linear-gradient(110deg,#20d8df12,#ff4e9d12),
    #0b1c2c
}
.admin-command-strip>a>span{
  width:47px;
  height:47px;
  display:grid;
  place-items:center;
  border-radius:13px;
  color:var(--cyan);
  background:#061521;
  font-size:25px
}
.admin-command-strip small{
  display:block;
  margin-top:4px;
  color:var(--muted)
}
.admin-command-strip kbd{
  padding:5px 7px;
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--muted);
  background:#061521
}
.operations-overview{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:13px;
  margin-bottom:20px
}
.operations-overview article{
  padding:18px
}
.operations-overview span,
.operations-overview b{
  display:block
}
.operations-overview span{
  color:var(--muted)
}
.operations-overview b{
  margin-top:8px;
  font-size:21px;
  overflow-wrap:anywhere
}
.operations-overview .status-healthy{
  border-color:#36c48b55
}
.operations-overview .status-healthy b{
  color:#7befbd
}
.operations-overview .status-warning{
  border-color:#f1b84f55
}
.operations-overview .status-warning b{
  color:#ffc760
}
.operations-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 350px;
  gap:20px;
  align-items:start
}
.operations-layout>aside{
  display:grid;
  gap:16px;
  position:sticky;
  top:100px
}
.operations-actions{
  display:grid;
  gap:10px
}
.operations-actions>article{
  display:grid;
  grid-template-columns:45px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#071522
}
.operations-actions>article>span{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#0d2637;
  font-size:22px
}
.operations-actions h3{
  margin:0
}
.operations-actions p{
  margin:5px 0 0;
  color:var(--muted)
}
.operations-actions form{
  margin:0
}
.operations-table-list{
  display:grid
}
.operations-table-list>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 13px;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.operations-table-list small{
  grid-column:1/-1;
  color:var(--muted)
}
.maintenance-run-list{
  display:grid
}
.maintenance-run-list>article{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.maintenance-run-list p{
  margin:4px 0 0;
  color:var(--muted)
}
.maintenance-run-list>article>small{
  color:var(--muted);
  text-align:right
}
.schema-ok{
  padding:13px;
  border:1px solid #36c48b4a;
  border-radius:11px;
  color:#82efc0;
  background:#08261d
}
.operations-layout aside code{
  display:block;
  padding:9px;
  border-radius:9px;
  color:#8de8ea;
  background:#06131f;
  overflow-wrap:anywhere
}
.directory-health-list{
  display:grid;
  gap:10px
}
.directory-health-list>div{
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  gap:8px
}
.directory-health-list small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  overflow-wrap:anywhere
}
.collation-list{
  display:grid;
  gap:8px
}
.collation-list>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}
.collation-list code{
  flex:1
}
.operations-runtime{
  display:grid;
  gap:9px
}
.operations-runtime>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--line)
}
.operations-runtime dt{
  color:var(--muted)
}
.operations-runtime dd{
  margin:0;
  font-weight:800
}

@media(max-width:1200px){
  .operations-overview{
    grid-template-columns:repeat(3,1fr)
  }
  .dashboard-activity-preview{
    grid-template-columns:1fr
  }
}
@media(max-width:1050px){
  .operations-layout{
    grid-template-columns:1fr
  }
  .operations-layout>aside{
    position:static
  }
  .staff-search-groups{
    grid-template-columns:1fr
  }
}
@media(max-width:760px){
  .admin-search-trigger>span:nth-child(2),
  .admin-search-trigger kbd{
    display:none
  }
  .activity-summary,
  .operations-overview,
  .admin-command-strip{
    grid-template-columns:1fr 1fr
  }
  .activity-item{
    grid-template-columns:44px minmax(0,1fr)
  }
  .activity-item-actions{
    grid-column:1/-1;
    grid-template-columns:1fr 1fr
  }
  .activity-item-actions .btn{
    width:100%
  }
  .activity-item-top{
    display:block
  }
  .activity-item-top>.status{
    display:inline-block;
    margin-top:8px
  }
  .operations-actions>article{
    grid-template-columns:40px minmax(0,1fr)
  }
  .operations-actions form{
    grid-column:1/-1
  }
  .operations-actions .btn{
    width:100%
  }
  .maintenance-run-list>article{
    grid-template-columns:1fr
  }
  .maintenance-run-list>article>small{
    text-align:left
  }
  .command-palette{
    padding:60px 10px 10px
  }
  .command-palette-panel{
    max-height:calc(100vh - 70px)
  }
  .command-palette-results a{
    grid-template-columns:38px minmax(0,1fr)
  }
  .command-palette-results a>span:last-child{
    grid-column:2;
    max-width:none;
    text-align:left
  }
}
@media(max-width:520px){
  .activity-summary,
  .operations-overview,
  .admin-command-strip{
    grid-template-columns:1fr
  }
  .dashboard-activity-head{
    display:block
  }
  .dashboard-activity-head .btn{
    margin-top:14px;
    width:100%
  }
  .staff-global-search-form{
    grid-template-columns:30px minmax(0,1fr)
  }
  .staff-global-search-form .btn{
    grid-column:1/-1
  }
}
@media(prefers-reduced-motion:reduce){
  .command-palette-loading span{
    animation:none
  }
  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important
  }
}


/* === Palm City V14.0.2: compact navbar, store and illustrated wiki === */
.pc-topbar-v14{position:sticky;top:0;z-index:1000;background:rgba(4,12,24,.92);backdrop-filter:blur(22px);border-bottom:1px solid rgba(63,225,237,.18);box-shadow:0 10px 35px rgba(0,0,0,.24)}
.pc-topbar-inner{min-height:76px;max-width:1540px;margin:auto;padding:0 28px;display:flex;align-items:center;gap:28px}.pc-brand-v14{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;flex:0 0 auto}.pc-brand-v14 img{width:50px;height:50px;object-fit:contain;border-radius:15px}.pc-brand-v14 span{display:flex;align-items:baseline;gap:5px}.pc-brand-v14 strong{font-size:20px}.pc-brand-v14 small{color:#f799c6;font-weight:800}.pc-nav-v14{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1;min-width:0}.pc-primary-links,.pc-nav-tools{display:flex;align-items:center;gap:7px}.pc-primary-links>a,.pc-primary-links details>summary{display:flex;align-items:center;height:42px;padding:0 13px;border-radius:12px;color:#d9e6f6;text-decoration:none;font-weight:800;font-size:14px;cursor:pointer;list-style:none;white-space:nowrap}.pc-primary-links>a:hover,.pc-primary-links details>summary:hover{background:rgba(61,219,235,.1);color:#6ef5ff}.pc-primary-links details,.pc-user-menu,.notification-center{position:relative}.pc-primary-links details>div,.pc-user-menu>div{position:absolute;top:calc(100% + 12px);right:0;min-width:210px;padding:9px;background:#071525;border:1px solid rgba(98,227,238,.18);border-radius:16px;box-shadow:0 22px 50px rgba(0,0,0,.45)}.pc-primary-links details>div{left:0;right:auto}.pc-primary-links details:not([open])>div,.pc-user-menu:not([open])>div{display:none}.pc-primary-links details div a,.pc-user-menu div>a,.pc-user-menu form button{display:block;width:100%;padding:11px 12px;border:0;border-radius:10px;color:#dceafa;background:transparent;text-align:left;text-decoration:none;font:inherit;font-weight:700}.pc-primary-links details div a:hover,.pc-user-menu div>a:hover,.pc-user-menu form button:hover{background:rgba(71,222,235,.1);color:#69f2fb}.store-link{background:linear-gradient(135deg,rgba(255,83,151,.16),rgba(67,225,236,.12));border:1px solid rgba(255,112,177,.22)}.icon-tool{width:42px;height:42px;border:1px solid rgba(112,226,236,.16);border-radius:13px;background:#08182a;color:#dffaff;display:grid;place-items:center;cursor:pointer;font-size:18px;position:relative}.pc-user-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:5px 8px 5px 5px;border:1px solid rgba(112,226,236,.14);border-radius:14px;background:#08182a;color:white}.pc-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#46e0eb,#fa85bb);overflow:hidden;font-size:12px;font-weight:900}.pc-avatar img{width:100%;height:100%;object-fit:cover}.admin-menu-link{color:#ff90bd!important}.pc-user-menu form{margin:4px 0 0;border-top:1px solid rgba(255,255,255,.08);padding-top:5px}.nav-toggle{display:none}
.store-hero{min-height:275px;border-radius:28px;padding:42px;display:flex;justify-content:space-between;align-items:end;gap:30px;background:radial-gradient(circle at 82% 20%,rgba(255,80,156,.35),transparent 30%),linear-gradient(125deg,#071729,#16233d 58%,#34162e);border:1px solid rgba(97,230,238,.22);overflow:hidden}.store-hero h1{font-size:clamp(42px,6vw,76px);margin:.15em 0}.store-hero p{max-width:700px;color:#b8cbe0}.credit-balance{min-width:220px;padding:24px;border-radius:22px;background:rgba(3,14,27,.72);border:1px solid rgba(102,231,239,.26);display:flex;flex-direction:column}.credit-balance strong{font-size:31px;color:#70f4fc}.store-filter{display:flex;gap:10px;overflow:auto;padding:22px 0}.store-filter button{border:1px solid rgba(100,226,236,.16);background:#09182a;color:#c8d7e9;padding:10px 16px;border-radius:999px;font-weight:800;white-space:nowrap}.store-filter button.active{background:linear-gradient(135deg,#38dbea,#ff79b4);color:#06111d}.store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.store-product{border-radius:24px;overflow:hidden;background:#071728;border:1px solid rgba(94,227,237,.16);transition:.25s}.store-product:hover{transform:translateY(-5px);border-color:rgba(96,239,246,.45)}.store-product.featured{box-shadow:0 0 0 1px rgba(255,103,173,.28),0 20px 50px rgba(255,74,151,.08)}.store-product-art{height:150px;background:radial-gradient(circle at 50% 100%,rgba(62,222,235,.3),transparent 55%),linear-gradient(135deg,#0e253c,#281934);display:grid;place-items:center;position:relative}.store-product-art>span{font-size:65px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.35))}.store-product-art b{position:absolute;top:14px;right:14px;font-size:10px;letter-spacing:.14em;padding:7px 9px;border-radius:99px;background:#ff68a7;color:#fff}.store-product-body{padding:22px}.store-product-body small{color:#55e7ee;font-weight:900;letter-spacing:.1em}.store-product-body h2{margin:8px 0}.store-product-body p{min-height:66px;color:#9fb4ca}.store-product-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.store-product-foot>strong{font-size:21px;color:#68eff7}.store-history{margin-top:24px}.admin-store-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.store-admin-product{display:grid;grid-template-columns:minmax(180px,1fr) 110px auto auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.store-admin-product div{display:flex;flex-direction:column}
.wiki-hero{min-height:390px;border-radius:30px;background-image:linear-gradient(90deg,rgba(3,12,24,.95),rgba(5,17,31,.62),rgba(12,13,27,.2)),url('../img/home/hero-palm-drive.svg');background-size:cover;background-position:center;border:1px solid rgba(85,224,235,.2);display:flex;align-items:center;overflow:hidden}.wiki-hero-overlay{padding:52px;max-width:850px}.wiki-hero h1{font-size:clamp(42px,6vw,78px);line-height:1;margin:.18em 0}.wiki-hero p{font-size:18px;color:#bed1e4}.wiki-search{margin-top:28px;display:flex;align-items:center;gap:10px;background:rgba(3,13,25,.82);padding:8px;border:1px solid rgba(97,230,238,.25);border-radius:17px}.wiki-search>span{padding-left:12px;font-size:22px}.wiki-search input{flex:1;border:0;background:transparent;color:white;padding:12px;font-size:16px}.wiki-search button{border:0;border-radius:12px;background:linear-gradient(135deg,#41e1eb,#fc75ad);padding:13px 19px;font-weight:900;color:#07111c}.wiki-category-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:18px 0 28px}.wiki-category-strip a{display:flex;align-items:center;gap:10px;padding:15px;border-radius:16px;background:#081829;border:1px solid rgba(98,226,237,.13);color:#d9e8f8;text-decoration:none}.wiki-category-strip span{font-size:24px}.wiki-content-layout,.wiki-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}.wiki-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wiki-visual-card{overflow:hidden;border-radius:22px;background:#071728;border:1px solid rgba(91,225,236,.15);color:#eaf5ff;text-decoration:none}.wiki-card-cover{height:175px;background-size:cover;background-position:center;position:relative}.wiki-card-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(3,13,24,.75))}.wiki-card-cover span{position:absolute;z-index:1;top:14px;left:14px;background:rgba(4,13,25,.8);padding:7px 10px;border-radius:99px;font-size:10px;font-weight:900;letter-spacing:.13em}.wiki-visual-card>div:last-child{padding:20px}.wiki-visual-card small{color:#53e5ee}.wiki-visual-card h3{font-size:22px;margin:8px 0}.wiki-visual-card p{color:#9fb5ca}.wiki-visual-card b{color:#ff89b9}.wiki-side{display:flex;flex-direction:column;gap:16px}.wiki-side .card>a{display:block;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#bce8ed;text-decoration:none}.wiki-city-tip{text-align:center}.wiki-city-tip>span{font-size:50px}.wiki-article-cover{min-height:430px;margin:-1px -1px 22px;border-radius:28px;background-size:cover;background-position:center;display:flex;align-items:end;position:relative;overflow:hidden}.wiki-article-cover:before{content:'';position:absolute;inset:0;background:linear-gradient(transparent 5%,rgba(4,12,23,.94))}.wiki-article-cover>div{position:relative;padding:48px;max-width:980px}.wiki-article-cover h1{font-size:clamp(40px,6vw,76px);margin:.15em 0}.wiki-prose{font-size:16px;line-height:1.75}.wiki-prose h2,.wiki-prose h3{margin-top:1.6em}.wiki-prose img{max-width:100%;border-radius:16px}.wiki-prose table{width:100%}
@media(max-width:1100px){.pc-primary-links>a:nth-of-type(3),.pc-primary-links>a:nth-of-type(4){display:none}.store-grid{grid-template-columns:repeat(2,1fr)}.wiki-category-strip{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.pc-topbar-inner{padding:0 14px;min-height:66px}.pc-brand-v14 span{display:none}.nav-toggle{display:block;margin-left:auto}.pc-nav-v14{display:none;position:absolute;top:66px;left:10px;right:10px;padding:14px;background:#061526;border-radius:18px;align-items:stretch}.pc-topbar-v14.open .pc-nav-v14{display:flex;flex-direction:column}.pc-primary-links{display:grid;grid-template-columns:1fr 1fr}.pc-primary-links>a:nth-of-type(n){display:flex}.pc-nav-tools{justify-content:flex-end}.store-hero{padding:28px;align-items:start;flex-direction:column}.store-grid,.wiki-card-grid,.admin-store-grid{grid-template-columns:1fr}.wiki-category-strip{grid-template-columns:1fr 1fr}.wiki-content-layout,.wiki-article-layout{grid-template-columns:1fr}.wiki-side{display:none}.wiki-hero-overlay,.wiki-article-cover>div{padding:28px}.store-admin-product{grid-template-columns:1fr 100px}.store-admin-product label,.store-admin-product button{grid-column:auto}}

/* V14.0.3 — Restauration de la navbar et du Wiki précédents.
   Ce bloc est volontairement placé après les styles V14.0.2. */
.topbar.redesign{min-height:74px}
.topbar-shell{gap:14px}
.brand-logo img{width:54px;height:54px}
.brand-copy small{display:none}
.nav-actions{gap:8px}
.admin-search-trigger{width:58px;min-width:58px;height:42px;padding:0 8px;justify-content:center;border-radius:14px}
.admin-search-trigger .search-icon{font-size:20px}
.admin-search-trigger kbd{font-size:9px;padding:2px 4px}
.user-chip{padding:6px 8px}
.user-chip>span:last-child{display:none}
.logout-button{padding:10px 12px}

.wiki-hero{min-height:360px;border-radius:28px;overflow:hidden;background:linear-gradient(90deg,rgba(6,6,18,.97),rgba(6,6,18,.3)),url('../img/palm-city-map-real-3072.jpg') center/cover;display:flex;align-items:center;padding:48px}
.wiki-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:.1em 0}
.wiki-hero p{max-width:620px;font-size:1.1rem}
.wiki-searchbox{margin-top:24px;display:flex;align-items:center;gap:12px;max-width:620px;padding:14px 18px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(8,8,20,.72);backdrop-filter:blur(14px)}
.wiki-searchbox input{width:100%;border:0;background:transparent;color:#fff;outline:0}
.wiki-category-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:18px 0 26px}
.wiki-category-strip a{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);text-align:center}
.wiki-category-strip span{font-size:1.8rem}
.wiki-modern-layout{display:grid;grid-template-columns:250px 1fr;gap:24px}
.wiki-sidebar{height:max-content;position:sticky;top:92px}
.wiki-sidebar>a{display:flex;justify-content:space-between;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.06)}
.wiki-tip{margin-top:20px;padding:15px;border-radius:14px;background:linear-gradient(135deg,rgba(255,47,146,.13),rgba(0,217,255,.1))}
.wiki-article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}
.wiki-article-card{overflow:hidden;border-radius:20px;background:rgba(15,15,31,.9);border:1px solid rgba(255,255,255,.09);transition:.25s}
.wiki-article-card:hover{transform:translateY(-5px);border-color:rgba(255,47,146,.45)}
.wiki-card-cover{height:160px;background:radial-gradient(circle at 35% 35%,rgba(255,47,146,.3),transparent 35%),linear-gradient(135deg,#242047,#10101f);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;position:relative}
.wiki-card-cover span{font-size:4rem}
.wiki-card-cover em{position:absolute;left:12px;top:12px;background:rgba(5,5,15,.72);padding:5px 9px;border-radius:99px;font-size:.65rem}
.wiki-article-card>div:last-child{padding:18px}
.wiki-article-card h3{margin:6px 0}
.wiki-article-card p{color:var(--muted)}

@media(max-width:900px){
  .wiki-modern-layout{grid-template-columns:1fr}
  .wiki-sidebar{position:static}
  .wiki-hero{padding:30px}
  .brand-copy{display:none}
}
@media(max-width:620px){
  .admin-search-trigger kbd{display:none}
  .admin-search-trigger{width:42px;min-width:42px}
}


/* V13.1 — PALM WALLET */
.wallet-pagehead{align-items:flex-end}.wallet-page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.wallet-pagehead .eyebrow,.wallet-detail-head .eyebrow{color:#ff6bb4}.wallet-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.wallet-kpis article{min-height:105px;display:flex;align-items:center;gap:15px;padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(145deg,rgba(18,34,52,.92),rgba(9,20,35,.92));box-shadow:0 18px 50px rgba(0,0,0,.22)}.wallet-kpis article>span{display:grid;place-items:center;width:51px;height:51px;border-radius:17px;font-size:25px;background:linear-gradient(135deg,rgba(255,61,153,.22),rgba(0,207,220,.17));border:1px solid rgba(255,255,255,.1)}.wallet-kpis small{display:block;color:var(--muted);margin-bottom:5px}.wallet-kpis b{font-size:28px;line-height:1}.staff-wallet-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.wallet-sync-warning{margin-bottom:18px}.wallet-sync-warning summary{cursor:pointer;font-weight:800}.wallet-sync-warning p{color:var(--muted)}
.wallet-filter-card{margin-bottom:25px}.wallet-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.wallet-filters label{min-width:150px;flex:0 1 190px}.wallet-filters label span,.wallet-issue-form label span,.wallet-admin-card label span{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:7px}.wallet-filters .wallet-search{flex:1 1 260px}.wallet-filters input,.wallet-filters select{width:100%}
.wallet-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 18px}.wallet-section-head.compact{align-items:center}.wallet-section-head h2{margin:3px 0 0}.wallet-section-head p{max-width:520px;text-align:right;color:var(--muted);margin:0}.wallet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:24px}.wallet-grid-item{min-width:0}.wallet-grid-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:12px}.wallet-empty{grid-column:1/-1;text-align:center;padding:58px 24px;border:1px dashed rgba(255,255,255,.17);border-radius:24px;background:rgba(7,18,31,.55)}.wallet-empty>span{font-size:54px}.wallet-empty p{color:var(--muted);max-width:620px;margin:0 auto 18px}
.wallet-card-shell{width:100%;aspect-ratio:1.586/1;perspective:1300px}.wallet-card-shell.large{max-width:780px;margin:auto}.wallet-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .68s cubic-bezier(.2,.75,.2,1)}.wallet-card-shell.is-flipped .wallet-card{transform:rotateY(180deg)}.wallet-card-face{position:absolute;inset:0;backface-visibility:hidden;border-radius:25px;overflow:hidden;padding:23px;color:var(--wallet-text);background:linear-gradient(135deg,var(--wallet-start),var(--wallet-end));box-shadow:0 25px 65px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.24);border:1px solid rgba(255,255,255,.18)}.wallet-card-face:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 15%,rgba(255,255,255,.32),transparent 18%),linear-gradient(110deg,transparent 30%,rgba(255,255,255,.11) 45%,transparent 60%);pointer-events:none}.wallet-card-front header,.wallet-card-front footer,.wallet-card-main{position:relative;z-index:2}.wallet-card-front header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.wallet-card-brand{display:flex;align-items:center;gap:11px}.wallet-card-brand small{display:block;font-size:8px;letter-spacing:.18em;opacity:.75}.wallet-card-brand b{display:block;font-size:16px;margin-top:3px}.wallet-card-icon{font-size:28px}.wallet-status{display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;background:rgba(4,14,25,.35);border:1px solid rgba(255,255,255,.17)}.wallet-status.valid{background:rgba(0,80,66,.56);color:#baffeb}.wallet-status.expired,.wallet-status.revoked,.wallet-status.suspended{background:rgba(96,12,31,.62);color:#ffd2dc}.wallet-status.draft{background:rgba(71,58,9,.65);color:#fff2af}.wallet-card-main{display:flex;gap:16px;align-items:center;margin-top:12%;min-width:0}.wallet-card-main small{font-size:8px;letter-spacing:.16em;opacity:.74}.wallet-card-main h3{margin:2px 0 3px;font-size:clamp(17px,2.1vw,25px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-card-main p{margin:0;color:inherit;opacity:.8;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-hologram{flex:0 0 58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(from 30deg,#57f5ff,#ff8bd1,#ffd78a,#66ffd1,#57f5ff);padding:3px;box-shadow:0 0 25px rgba(255,255,255,.22)}.wallet-hologram span{width:100%;height:100%;border-radius:50%;display:grid;place-items:center;background:rgba(10,23,40,.76);font-weight:1000;font-size:20px}.wallet-card-front footer{position:absolute;left:23px;right:23px;bottom:20px;display:grid;grid-template-columns:1.2fr 1fr auto;align-items:end;gap:12px}.wallet-card-front footer small{display:block;font-size:7px;letter-spacing:.12em;opacity:.7}.wallet-card-front footer b{display:block;font-size:11px;overflow-wrap:anywhere}.wallet-chip{width:43px;height:32px;border-radius:8px;background:linear-gradient(135deg,#f5d889,#9b7a2d);display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:7px}.wallet-chip i{border:1px solid rgba(44,31,5,.4);border-radius:2px}.wallet-expiry-warning{position:absolute;right:20px;bottom:58px;font-size:9px;background:#ffb21c;color:#311b00;padding:5px 8px;border-radius:999px;font-weight:900}.wallet-card-back{transform:rotateY(180deg);padding:0}.wallet-magnetic-strip{height:18%;background:rgba(3,7,12,.82);margin-top:9%}.wallet-back-content{padding:16px 22px 18px;position:relative;z-index:2}.wallet-signature-band{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:rgba(255,255,255,.78);color:#1b2130;border-radius:6px;align-items:center}.wallet-signature-band span{font-size:8px;font-weight:900}.wallet-signature-band code{font-size:8px}.wallet-back-content dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.wallet-back-content dl div{min-width:0}.wallet-back-content dt{font-size:7px;letter-spacing:.1em;opacity:.7;text-transform:uppercase}.wallet-back-content dd{margin:2px 0 0;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallet-back-security{display:flex;justify-content:space-between;gap:10px;font-size:7px;letter-spacing:.1em;border-top:1px solid rgba(255,255,255,.24);padding-top:8px}.wallet-back-security b{font-size:8px}.wallet-hero-card{padding:12px 0 28px}.wallet-card-shell.large .wallet-card-face{padding:34px}.wallet-card-shell.large .wallet-card-brand b{font-size:24px}.wallet-card-shell.large .wallet-card-icon{font-size:38px}.wallet-card-shell.large .wallet-card-main h3{font-size:34px}.wallet-card-shell.large .wallet-card-main{margin-top:13%}.wallet-card-shell.large .wallet-card-front footer{left:34px;right:34px;bottom:30px}.wallet-card-shell.large .wallet-card-front footer b{font-size:15px}.wallet-card-shell.large .wallet-hologram{width:80px;height:80px;flex-basis:80px}.wallet-card-shell.large .wallet-back-content{padding:25px 34px}.wallet-card-shell.large .wallet-back-content dl{gap:15px;margin:22px 0}.wallet-card-shell.large .wallet-back-content dd{font-size:14px}.wallet-card-shell.large .wallet-signature-band code{font-size:11px}
.wallet-detail-head>a{color:#77e3e8}.wallet-detail-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:24px;align-items:start}.wallet-detail-layout>main,.wallet-detail-layout>aside{display:grid;gap:20px}.wallet-detail-layout>aside{position:sticky;top:105px}.wallet-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.wallet-detail-list>div{padding:15px;background:rgba(8,21,36,.96)}.wallet-detail-list dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.wallet-detail-list dd{margin:5px 0 0;font-weight:800;overflow-wrap:anywhere}.wallet-verify-card{text-align:center}.wallet-verify-card p{color:var(--muted)}.wallet-qr{width:210px;min-height:210px;margin:18px auto;padding:10px;background:#fff;border-radius:18px;display:grid;place-items:center}.wallet-qr img,.wallet-qr canvas{max-width:100%;height:auto}.wallet-share-list{display:grid;gap:10px;margin-top:17px}.wallet-share-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px}.wallet-share-list article.inactive{opacity:.52}.wallet-share-list small{display:block;color:var(--muted);margin-top:3px}.wallet-security-card code{display:block;overflow-wrap:anywhere;background:#05101b;padding:13px;border-radius:12px;color:#86e8eb;font-size:11px}.wallet-security-card p{color:var(--muted)}.wallet-timeline{display:grid;gap:0}.wallet-timeline article{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr);gap:11px;padding-bottom:20px}.wallet-timeline article:before{content:"";position:absolute;left:5px;top:16px;bottom:0;width:1px;background:var(--line)}.wallet-timeline article:last-child:before{display:none}.wallet-timeline-dot{width:11px;height:11px;margin-top:4px;border-radius:50%;background:#ff4f9d;box-shadow:0 0 14px #ff4f9d}.wallet-timeline header{display:flex;justify-content:space-between;gap:12px}.wallet-timeline time,.wallet-timeline small{color:var(--muted)}.wallet-timeline p{margin:5px 0;color:#c6d4df}
.wallet-admin-layout{display:grid;grid-template-columns:minmax(320px,410px) minmax(0,1fr);gap:22px;align-items:start}.wallet-admin-sidebar{display:grid;gap:20px;position:sticky;top:105px;max-height:calc(100vh - 120px);overflow:auto;padding-right:4px}.wallet-admin-card{padding:20px}.wallet-admin-main{display:grid;gap:18px;min-width:0}.wallet-issue-form,.wallet-admin-card .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wallet-issue-form label,.wallet-admin-card label{min-width:0}.wallet-issue-form .full,.wallet-admin-card .full{grid-column:1/-1}.wallet-admin-card .check{display:flex;gap:8px;align-items:center;color:#c5d3df;font-size:12px}.wallet-admin-card .check input{width:auto}.wallet-payload-builder{padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(5,15,27,.58)}.wallet-payload-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.wallet-payload-head>span{margin:0!important}.wallet-payload-row{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;margin-top:8px}.wallet-payload-row input{min-width:0}.wallet-payload-row button{padding:0;width:40px}.wallet-admin-table-card{padding:20px;min-width:0}.wallet-admin-table{min-width:980px}.wallet-admin-table th{white-space:nowrap}.wallet-admin-table td{vertical-align:top}.wallet-admin-table td small{display:block;color:var(--muted);margin-top:4px}.wallet-document-cell{display:flex;gap:10px;align-items:center}.wallet-document-cell>span{font-size:24px}.wallet-status-form{display:grid;grid-template-columns:140px minmax(140px,1fr) auto;gap:6px;margin-top:8px}.wallet-status-form select,.wallet-status-form input{min-width:0}.empty-cell{text-align:center!important;padding:40px!important;color:var(--muted)}.wallet-government-layout{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);gap:22px;align-items:start}.wallet-government-layout>aside{position:sticky;top:105px}.government-wallet-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;background:linear-gradient(125deg,rgba(220,44,133,.16),rgba(0,194,208,.11))}.government-wallet-banner h2{margin:2px 0 5px}.government-wallet-banner p{margin:0;color:var(--muted)}
.status.valid{background:#0b4c3c;color:#93ffdc}.status.revoked{background:#5b132a;color:#ffc2d1}.status.expired{background:#473414;color:#ffdda2}
@media(max-width:1250px){.staff-wallet-kpis{grid-template-columns:repeat(3,1fr)}.wallet-admin-layout{grid-template-columns:350px minmax(0,1fr)}}
@media(max-width:1050px){.wallet-detail-layout,.wallet-admin-layout,.wallet-government-layout{grid-template-columns:1fr}.wallet-detail-layout>aside,.wallet-admin-sidebar,.wallet-government-layout>aside{position:static;max-height:none;overflow:visible}.wallet-kpis,.staff-wallet-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.wallet-pagehead{align-items:flex-start}.wallet-page-actions{justify-content:flex-start}.wallet-kpis,.staff-wallet-kpis{grid-template-columns:1fr 1fr}.wallet-grid{grid-template-columns:1fr}.wallet-section-head{display:block}.wallet-section-head p{text-align:left;margin-top:9px}.wallet-card-shell{aspect-ratio:1.45/1}.wallet-card-face{padding:17px;border-radius:20px}.wallet-card-main{margin-top:9%}.wallet-card-front footer{left:17px;right:17px;bottom:15px}.wallet-card-brand b{font-size:13px}.wallet-hologram{width:46px;height:46px;flex-basis:46px}.wallet-card-main h3{font-size:16px}.wallet-detail-list{grid-template-columns:1fr}.wallet-share-list article{grid-template-columns:1fr auto}.wallet-share-list article form{grid-column:1/-1}.wallet-issue-form,.wallet-admin-card .form-grid{grid-template-columns:1fr}.wallet-issue-form .full,.wallet-admin-card .full{grid-column:auto}.wallet-payload-row{grid-template-columns:1fr auto}.wallet-payload-row input:nth-child(2){grid-column:1/-1;grid-row:2}.wallet-status-form{grid-template-columns:1fr}.government-wallet-banner{display:block}.government-wallet-banner .btn{margin-top:14px}}
@media(max-width:480px){.wallet-kpis,.staff-wallet-kpis{grid-template-columns:1fr}.wallet-card-shell{aspect-ratio:1.28/1}.wallet-card-main{margin-top:7%}.wallet-card-front footer{grid-template-columns:1fr 1fr}.wallet-chip{display:none}.wallet-card-back-content{padding:12px}.wallet-back-content dl{grid-template-columns:1fr 1fr}.wallet-expiry-warning{display:none}}
@media(prefers-reduced-motion:reduce){.wallet-card{transition:none}}

.wallet-renew-form{display:grid;grid-template-columns:140px minmax(150px,1fr) auto;gap:6px;margin-top:7px}.wallet-renew-form input{min-width:0}@media(max-width:720px){.wallet-renew-form{grid-template-columns:1fr}}


/* V14.0.4 — Navbar allégée et menu avatar */
.topbar.redesign{padding:14px max(16px,3vw)}
.topbar-shell{width:min(1480px,98%);gap:18px}
.brand-area{flex:0 0 auto}
.brand-copy strong{font-size:22px}
.pc-nav{gap:14px}
.nav-groups{flex-wrap:nowrap;gap:10px}
.nav-group{min-width:0}
.nav-group summary{padding:11px 14px;white-space:nowrap}
.nav-actions{flex-wrap:nowrap;gap:8px}
.notification-center>summary{width:46px;height:46px;border-radius:14px}
.admin-search-trigger{width:46px;min-width:46px;height:46px;padding:0;border-radius:14px}
.admin-search-trigger kbd{display:none}
.user-menu-dropdown{position:relative;flex:0 0 auto}
.user-menu-dropdown>summary::-webkit-details-marker{display:none}
.user-menu-dropdown>summary{list-style:none;cursor:pointer}
.user-menu-dropdown[open] .user-menu-chevron{transform:rotate(180deg);color:var(--cyan)}
.user-chip{min-width:0;display:flex;flex-direction:row;align-items:center;gap:9px;padding:5px 9px 5px 5px;border-radius:15px;user-select:none}
.user-chip>span:last-child{display:inline-flex}
.user-chip-copy{display:flex!important;flex-direction:column;min-width:0;line-height:1.05}
.user-chip-copy small{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#8ea5bd;font-weight:800}
.user-chip-copy b{max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}
.user-menu-chevron{font-size:12px;color:#7e96ae;transition:transform .16s ease,color .16s ease}
.avatar-menu{position:absolute;right:0;top:calc(100% + 12px);width:min(360px,calc(100vw - 24px));z-index:280;padding:10px;background:linear-gradient(160deg,rgba(11,28,45,.98),rgba(6,17,30,.99));border:1px solid rgba(104,229,238,.2);border-radius:20px;box-shadow:0 28px 75px rgba(0,0,0,.55);overflow:hidden}
.user-menu-dropdown:not([open]) .avatar-menu{display:none}
.avatar-menu:before{content:"";position:absolute;right:23px;top:-7px;width:13px;height:13px;transform:rotate(45deg);background:#0a1b2d;border-left:1px solid rgba(104,229,238,.2);border-top:1px solid rgba(104,229,238,.2)}
.avatar-menu-head{position:relative;display:flex;align-items:center;gap:12px;padding:11px 12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.avatar-menu-head .user-chip-avatar.compact{width:44px;height:44px;flex:0 0 44px}
.avatar-menu-head small,.avatar-menu-head b{display:block}
.avatar-menu-head small{color:#839bb4;font-size:11px;margin-bottom:3px}
.avatar-menu-head b{font-size:15px}
.avatar-menu-links{display:grid!important;gap:4px!important;padding:8px 0}
.avatar-menu-links a{display:grid!important;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px!important;border-radius:13px;color:#dceafb!important;text-decoration:none;transition:.15s ease}
.avatar-menu-links a:hover{background:rgba(65,226,236,.09);transform:translateX(2px)}
.avatar-menu-links a>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#10263b;font-size:17px}
.avatar-menu-links a b,.avatar-menu-links a small{display:block}
.avatar-menu-links a b{font-size:13px}
.avatar-menu-links a small{margin-top:2px;color:#8da6bd;font-size:10px;font-weight:600}
.avatar-menu-links .avatar-menu-admin{background:linear-gradient(135deg,rgba(255,69,115,.1),rgba(255,105,171,.06));border:1px solid rgba(255,99,151,.12)}
.avatar-menu-links .avatar-menu-admin>span{background:linear-gradient(135deg,#e9365a,#ff71a9);color:#fff}
.avatar-menu-logout{padding:9px 0 0;border-top:1px solid rgba(255,255,255,.08)}
.avatar-menu-logout button{width:100%;display:flex;align-items:center;gap:10px;padding:11px 13px;border:0;border-radius:12px;background:transparent;color:#ffabbc;font:inherit;font-weight:800;cursor:pointer;text-align:left}
.avatar-menu-logout button:hover{background:rgba(255,74,105,.09)}
.avatar-menu-logout button span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:rgba(255,74,105,.12)}

@media(max-width:1240px){
  .brand-copy{display:none}
  .brand-logo img{width:50px;height:50px}
  .user-chip-copy{display:none!important}
  .nav-group summary{padding:10px 12px}
}
@media(max-width:1080px){
  .nav-groups{flex-wrap:wrap}
  .nav-actions{flex-wrap:wrap}
  .user-menu-dropdown{width:100%}
  .user-menu-dropdown>summary{width:100%;justify-content:flex-start}
  .user-chip-copy{display:flex!important}
  .user-menu-chevron{margin-left:auto}
  .avatar-menu{position:static;width:100%;margin-top:8px;box-shadow:none}
  .avatar-menu:before{display:none}
}

/* === Palm City V14.0.7 — Tableau de bord administration Palm Store === */
.store-admin-pagehead{align-items:flex-end}
.store-admin-head-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.store-admin-tabs{position:sticky;top:84px;z-index:70;display:flex;gap:8px;margin:0 0 24px;padding:9px;border:1px solid rgba(100,226,236,.15);border-radius:18px;background:rgba(5,17,30,.9);backdrop-filter:blur(18px);overflow-x:auto;box-shadow:0 16px 40px rgba(0,0,0,.22)}
.store-admin-tabs a{flex:0 0 auto;padding:10px 14px;border-radius:12px;color:#a9bed2;text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.03em;white-space:nowrap}
.store-admin-tabs a:hover{color:#ebfdff;background:rgba(65,226,236,.1)}
.store-admin-section{scroll-margin-top:155px;margin-bottom:34px}
.store-admin-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}
.store-admin-kpi{position:relative;overflow:hidden;min-height:142px;padding:19px;border:1px solid rgba(106,225,236,.14);border-radius:22px;background:linear-gradient(155deg,rgba(11,30,48,.96),rgba(6,19,33,.96));box-shadow:0 15px 35px rgba(0,0,0,.16)}
.store-admin-kpi:before{content:"";position:absolute;inset:auto -35px -55px auto;width:120px;height:120px;border-radius:50%;background:var(--kpi-accent,#45e3ec);filter:blur(45px);opacity:.2}
.store-admin-kpi span,.store-admin-kpi strong,.store-admin-kpi small{position:relative;display:block}
.store-admin-kpi span{min-height:34px;color:#91a9bf;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.store-admin-kpi strong{margin:9px 0 3px;color:#f4fbff;font-size:26px;line-height:1.05}
.store-admin-kpi small{color:#7890a8;font-size:11px}
.store-admin-kpi.accent-cyan{--kpi-accent:#48e7ed}.store-admin-kpi.accent-pink{--kpi-accent:#ff6dab}.store-admin-kpi.accent-violet{--kpi-accent:#9e78ff}.store-admin-kpi.accent-gold{--kpi-accent:#ffd166}.store-admin-kpi.accent-green{--kpi-accent:#6de9a6}.store-admin-kpi.accent-orange{--kpi-accent:#ff9f66}
.store-admin-overview-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:18px}
.store-chart-card,.store-top-products{padding:22px;min-width:0}
.store-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.store-section-title h2,.store-section-title h3{margin:3px 0 0}.store-section-title p{margin:7px 0 0;color:var(--muted);max-width:760px}
.store-section-title.section-heading{margin-bottom:16px}
.store-chart-summary{text-align:right}.store-chart-summary b,.store-chart-summary small{display:block}.store-chart-summary b{font-size:20px;color:#66edf4}.store-chart-summary small{color:#7891aa;font-size:11px}
.store-bars{height:260px;display:grid;grid-template-columns:repeat(14,minmax(20px,1fr));align-items:end;gap:8px;margin-top:25px;padding-top:25px;border-bottom:1px solid rgba(255,255,255,.08);background:repeating-linear-gradient(to top,transparent 0,transparent 58px,rgba(255,255,255,.035) 59px,transparent 60px)}
.store-bar-column{height:100%;display:grid;grid-template-rows:18px minmax(0,1fr) 25px;align-items:end;text-align:center;min-width:0}
.store-bar-column>span{opacity:0;color:#bdf9fd;font-size:9px;transition:.15s}.store-bar-column:hover>span{opacity:1}
.store-bar-column i{display:block;width:min(24px,72%);min-height:4px;margin:0 auto;border-radius:9px 9px 3px 3px;background:linear-gradient(180deg,#ff75ae,#4be2ec);box-shadow:0 0 18px rgba(78,226,237,.14);transition:height .25s ease,filter .15s ease}.store-bar-column:hover i{filter:brightness(1.18)}
.store-bar-column small{padding-top:8px;color:#71889f;font-size:9px;white-space:nowrap}
.store-top-products ol{display:grid;gap:8px;margin:17px 0 0;padding:0;list-style:none}.store-top-products li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border-radius:14px;background:rgba(11,30,47,.58);border:1px solid rgba(255,255,255,.045)}
.store-rank{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#10283e;color:#67edf5;font-weight:900}.store-top-products li div b,.store-top-products li div small{display:block}.store-top-products li div b{font-size:12px}.store-top-products li div small{margin-top:3px;color:#7890a8;font-size:10px}.store-top-products li>strong{color:#ff8abc;font-size:12px}
.store-credit-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.65fr);gap:18px;align-items:start}.store-credit-panel,.store-credit-quick{padding:22px}.store-credit-panel h3,.store-credit-quick h3{margin-top:0}
.store-user-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.store-user-search label span{display:block;margin-bottom:7px;color:#92a9bf;font-size:11px;font-weight:800}
.store-user-results{display:grid;gap:10px;margin-top:17px}.store-user-results article{display:grid;grid-template-columns:minmax(220px,1fr) 160px minmax(360px,1.4fr);align-items:center;gap:13px;padding:13px;border-radius:17px;background:rgba(8,24,39,.7);border:1px solid rgba(96,226,236,.1)}
.store-user-identity{display:flex;align-items:center;gap:10px;min-width:0}.store-user-identity>span{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#45dce8,#f16fa8);color:#06111b;font-size:11px;font-weight:1000}.store-user-identity b,.store-user-identity small,.store-user-balance strong,.store-user-balance small{display:block}.store-user-identity b{overflow:hidden;text-overflow:ellipsis}.store-user-identity small,.store-user-balance small{margin-top:3px;color:#7690a8;font-size:10px}.store-user-balance{text-align:right}.store-user-balance strong{color:#68edf4}
.store-inline-credit-form{display:grid;grid-template-columns:125px minmax(150px,1fr) auto;gap:7px}.store-inline-credit-form input{min-width:0}.store-credit-quick{position:sticky;top:150px}.store-credit-quick .form-grid{grid-template-columns:1fr 1fr}.store-credit-warning{display:flex;gap:10px;margin-top:14px;padding:12px;border-radius:14px;background:rgba(255,183,77,.07);border:1px solid rgba(255,184,91,.13)}.store-credit-warning span{font-size:21px}.store-credit-warning p{margin:0;color:#9eb0c2;font-size:11px;line-height:1.55}.store-wallet-ranking{margin-top:18px;padding:20px}.pc-positive{color:#71efb0}.pc-negative{color:#ff809b}
.store-create-product{padding:0;overflow:hidden}.store-create-product>summary,.store-product-admin-card>summary{list-style:none;cursor:pointer}.store-create-product>summary::-webkit-details-marker,.store-product-admin-card>summary::-webkit-details-marker{display:none}.store-create-product>summary{display:flex;align-items:center;gap:13px;padding:19px 22px}.store-create-product>summary>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#43dce9,#f778af);color:#07121d;font-size:25px;font-weight:900}.store-create-product>summary b,.store-create-product>summary small{display:block}.store-create-product>summary small{margin-top:4px;color:#8098af}.store-create-product[open]>summary{border-bottom:1px solid rgba(255,255,255,.07)}
.store-product-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px 22px}.store-product-editor label{min-width:0}.store-product-editor label small{color:#72899f;font-size:9px}.store-product-editor .full{grid-column:1/-1}.store-product-editor .check{display:flex;align-items:center;gap:8px;color:#bdd0e1}.store-product-editor .check input{width:auto}
.store-product-admin-list{display:grid;gap:11px;margin-top:15px}.store-product-admin-card{padding:0;overflow:hidden}.store-product-admin-card>summary{display:grid;grid-template-columns:58px minmax(0,1fr) 120px 80px;align-items:center;gap:13px;padding:12px 15px}.store-product-admin-card[open]>summary{border-bottom:1px solid rgba(255,255,255,.07);background:rgba(52,217,230,.025)}.store-product-mini-art{width:58px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:13px;background:linear-gradient(135deg,#102e44,#2f1d39)}.store-product-mini-art img{width:100%;height:100%;object-fit:cover}.store-product-mini-art span{font-size:25px}.store-product-admin-copy b,.store-product-admin-copy small{display:block}.store-product-admin-copy small{margin-top:4px;color:#7e96ad;font-size:10px}.store-product-admin-card>summary>strong{text-align:right;color:#68edf4}.store-product-state{padding:6px 8px;border-radius:99px;text-align:center;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.store-product-state.is-active{background:rgba(74,226,151,.12);color:#83f4bc}.store-product-state.is-hidden{background:rgba(255,106,133,.1);color:#ff9bad}
.store-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.store-category-card{position:relative;display:grid;gap:9px;padding:18px}.store-category-card h3{margin:0}.store-category-icon{font-size:34px;line-height:1}.store-category-card.is-new{border-style:dashed;background:linear-gradient(145deg,rgba(64,218,231,.07),rgba(242,107,171,.035))}.store-category-card .check{display:flex;align-items:center;gap:8px}.store-category-card .check input{width:auto}
.store-admin-table td small{display:block;margin-top:4px;color:#748ba1;font-size:9px}.store-delivery-form{display:grid;grid-template-columns:minmax(125px,1fr) auto;gap:7px}.store-refund-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:7px}.btn.danger{border-color:rgba(255,91,119,.23);background:rgba(255,72,105,.08);color:#ff9caf}.btn.danger:hover{background:rgba(255,72,105,.16)}
.store-status{display:inline-flex;padding:6px 9px;border-radius:99px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.store-status.status-paid{background:rgba(74,225,151,.11);color:#86efbb}.store-status.status-refunded{background:rgba(255,175,78,.11);color:#ffd08a}.store-status.status-cancelled{background:rgba(255,82,113,.1);color:#ff9eb0}
.store-audit-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);gap:18px}.store-audit-grid>.card{padding:20px;min-width:0}.store-audit-grid h3{margin-top:0}.store-admin-action-list{display:grid;gap:8px;max-height:620px;overflow:auto}.store-admin-action-list article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;padding:10px;border-radius:13px;background:rgba(9,25,40,.65)}.store-admin-action-list article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#112a41;color:#69edf4;font-size:10px;font-weight:900}.store-admin-action-list b,.store-admin-action-list small{display:block}.store-admin-action-list p{margin:3px 0;color:#adc0d1;font-size:11px;text-transform:capitalize}.store-admin-action-list small{color:#7189a0;font-size:9px}.empty-state{padding:22px;text-align:center;color:#7c94aa}.muted{color:#6f869b}
@media(max-width:1420px){.store-admin-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.store-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1120px){.store-admin-overview-grid,.store-credit-layout,.store-audit-grid{grid-template-columns:1fr}.store-credit-quick{position:static}.store-user-results article{grid-template-columns:minmax(200px,1fr) 150px}.store-inline-credit-form{grid-column:1/-1}.store-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-product-editor{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.store-admin-pagehead{align-items:flex-start}.store-admin-head-actions{justify-content:flex-start}.store-admin-tabs{top:72px}.store-admin-kpis{grid-template-columns:1fr 1fr}.store-admin-kpi{min-height:125px}.store-bars{gap:3px;overflow-x:auto}.store-bar-column{min-width:25px}.store-user-search{grid-template-columns:1fr}.store-user-results article{grid-template-columns:1fr}.store-user-balance{text-align:left}.store-inline-credit-form{grid-template-columns:1fr}.store-credit-quick .form-grid,.store-product-editor{grid-template-columns:1fr}.store-product-editor .full{grid-column:auto}.store-product-admin-card>summary{grid-template-columns:48px minmax(0,1fr) auto}.store-product-mini-art{width:48px;height:44px}.store-product-state{display:none}.store-category-grid{grid-template-columns:1fr}.store-delivery-form,.store-refund-form{grid-template-columns:1fr}.store-admin-table{min-width:880px}}
@media(max-width:480px){.store-admin-kpis{grid-template-columns:1fr}.store-admin-tabs{top:64px}.store-admin-pagehead h1{font-size:31px}}


/* =========================================================
   V15.0 — Palm Social & Marketplace
   ========================================================= */
.social-shell,.market-detail-layout{max-width:1320px;margin:0 auto}.social-hero,.market-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:10px 0 26px;padding:30px;border:1px solid rgba(57,220,239,.22);border-radius:24px;background:radial-gradient(circle at 12% 20%,rgba(236,74,175,.2),transparent 38%),linear-gradient(135deg,rgba(10,31,50,.96),rgba(26,21,54,.94))}.social-hero h1,.market-hero h1{font-size:clamp(34px,5vw,62px);margin:.15em 0}.social-layout{display:grid;grid-template-columns:270px minmax(0,760px);gap:24px;align-items:start;justify-content:center}.social-side{position:sticky;top:100px;display:grid;gap:8px;padding:18px}.social-side h3{margin:10px 8px 4px}.social-side>a{padding:12px;border-radius:12px;color:var(--text)}.social-side>a:hover,.social-side>a.active{background:rgba(67,222,239,.1);color:#60eaf4}.social-side form{display:grid;gap:8px;margin:8px 0 14px}.social-feed{display:grid;gap:18px}.social-composer{padding:18px}.social-composer-head,.social-composer-actions{display:flex;gap:10px;align-items:center;justify-content:space-between}.social-composer textarea{width:100%;min-height:110px;margin:14px 0;background:rgba(2,13,25,.6);border:1px solid rgba(128,173,205,.22);border-radius:16px;color:var(--text);padding:16px;resize:vertical}.social-composer-actions{flex-wrap:wrap}.social-composer-actions label{cursor:pointer}.social-composer-actions input[type=file]{display:none}.social-post{padding:0;overflow:visible}.social-post>header{display:flex;justify-content:space-between;align-items:center;padding:18px}.social-author{display:flex;align-items:center;gap:12px}.social-avatar,.social-profile-avatar{display:grid;place-items:center;background:linear-gradient(135deg,#35e3ef,#f26bae);font-weight:900;color:#09111c;overflow:hidden}.social-avatar{width:46px;height:46px;border-radius:15px}.social-avatar img,.social-profile-avatar img{width:100%;height:100%;object-fit:cover}.social-author small{display:block;color:var(--muted);margin-top:3px}.social-post-body{font-size:16px;line-height:1.65;padding:0 18px 16px;white-space:normal}.social-post-image{width:100%;max-height:620px;object-fit:cover;display:block;background:#07111d}.social-counts{display:flex;justify-content:space-between;padding:12px 18px;color:var(--muted);font-size:13px;border-bottom:1px solid rgba(120,174,208,.14)}.social-actions{padding:8px 18px}.social-actions form{display:flex;gap:8px}.social-actions button{background:transparent;border:0;color:var(--muted);padding:9px 12px;border-radius:10px;cursor:pointer}.social-actions button:hover,.social-actions button.active{background:rgba(235,76,173,.12);color:#ff86cb}.social-comments{display:grid;gap:8px;padding:0 18px}.social-comments>div{background:rgba(7,22,38,.6);border-radius:14px;padding:10px 13px}.social-comments p{margin:3px 0 0}.social-comment-form{display:grid;grid-template-columns:120px 1fr auto;gap:8px;padding:14px 18px 18px}.social-comment-form input,.social-comment-form select{min-width:0}.social-menu{position:absolute;right:16px;z-index:8;background:#0a192a;border:1px solid rgba(108,191,224,.25);border-radius:12px;padding:8px;box-shadow:0 16px 38px rgba(0,0,0,.38)}.social-menu button{width:100%;background:transparent;border:0;color:var(--text);padding:9px 12px;text-align:left}.social-profile{overflow:hidden;padding:0}.social-cover{height:260px;background:linear-gradient(125deg,rgba(38,228,235,.45),rgba(238,69,174,.48)),url('../img/palm-city-stories-rp.png') center/cover}.social-profile-main{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:end;padding:0 28px 26px;margin-top:-52px}.social-profile-avatar{width:118px;height:118px;border-radius:32px;border:6px solid #091727;font-size:30px}.social-profile-main>div{padding-top:58px}.social-profile-stats{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted)}.social-profile-editor{margin:18px 0;padding:18px}.social-profile-editor form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.social-profile-editor textarea{min-height:120px}.social-profile-posts{display:grid;gap:14px;margin-top:24px;max-width:760px}.social-post.compact{padding:18px}.social-post.compact .social-post-image{border-radius:16px;margin-top:12px}.market-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 210px 190px auto auto;gap:10px;padding:14px;margin-bottom:18px}.market-categories{display:flex;gap:10px;overflow:auto;padding:2px 0 16px}.market-categories a{display:flex;gap:8px;align-items:center;white-space:nowrap;padding:12px 15px;border:1px solid rgba(91,190,225,.2);border-radius:14px;background:rgba(8,27,44,.72)}.market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.market-card{padding:0;overflow:hidden}.market-card-image{height:215px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,rgba(21,51,72,.88),rgba(45,20,60,.85));font-size:62px}.market-card-image img{width:100%;height:100%;object-fit:cover}.market-card-image b{position:absolute;left:12px;top:12px;background:rgba(5,14,25,.78);padding:7px 10px;border-radius:9px;font-size:11px;letter-spacing:.12em}.market-card-body{padding:17px}.market-card-body h2{font-size:19px;margin:8px 0}.market-card-body>strong{font-size:23px;color:#64eaf2}.market-card-body p{color:var(--muted)}.market-card-body>div{display:flex;justify-content:space-between;color:var(--muted);font-size:13px}.market-create-form{padding:24px}.market-create-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.market-create-form label{display:grid;gap:7px}.market-create-form .wide{grid-column:1/-1}.market-create-form textarea{min-height:180px}.market-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.market-detail-layout main,.market-detail-layout aside{display:grid;gap:18px}.market-detail{padding:0;overflow:hidden}.market-detail-image{height:430px;display:grid;place-items:center;background:linear-gradient(135deg,#102a42,#3b1d4e);font-size:100px}.market-detail-image img{width:100%;height:100%;object-fit:cover}.market-detail-head{display:flex;justify-content:space-between;gap:20px;padding:22px}.market-detail-head h1{margin:7px 0}.market-detail-head>strong{font-size:31px;color:#65edf3;white-space:nowrap}.market-detail-meta{display:flex;flex-wrap:wrap;gap:9px;padding:0 22px}.market-detail-meta span{padding:7px 10px;border-radius:10px;background:rgba(67,215,233,.08);color:var(--muted)}.market-description{padding:22px;line-height:1.7}.market-detail>form{padding:0 22px 22px}.market-offers{padding:20px}.market-offer{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid rgba(100,164,201,.15)}.market-offer strong{display:block;color:#63e8ef;font-size:20px}.market-offer form{display:flex;gap:8px;align-items:center}.market-offer-form{padding:20px;display:grid;gap:12px}.market-offer-form label{display:grid;gap:6px}.market-offer-form textarea{min-height:110px}.market-category-admin{display:grid;grid-template-columns:60px 1fr 1fr 80px auto auto;gap:8px;align-items:center;margin-bottom:9px}.market-admin-bar{display:flex;justify-content:space-between;gap:14px;padding:12px;border-bottom:1px solid rgba(100,164,201,.14)}.admin-two-columns{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;margin-bottom:18px}.admin-two-columns>.card{padding:20px}
@media(max-width:1050px){.social-layout{grid-template-columns:1fr}.social-side{position:static;grid-template-columns:repeat(3,1fr)}.social-side form,.social-side h3{grid-column:1/-1}.market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.market-toolbar{grid-template-columns:1fr 1fr}.market-detail-layout{grid-template-columns:1fr}.admin-two-columns{grid-template-columns:1fr}}
@media(max-width:680px){.social-hero,.market-hero{align-items:flex-start;flex-direction:column;padding:20px}.social-side{grid-template-columns:1fr}.social-comment-form{grid-template-columns:1fr}.social-profile-main{grid-template-columns:auto 1fr;margin-top:-38px;padding:0 16px 20px}.social-profile-avatar{width:86px;height:86px;border-radius:24px}.social-profile-main>form{grid-column:1/-1}.social-profile-editor form,.market-create-form .form-grid{grid-template-columns:1fr}.market-grid{grid-template-columns:1fr}.market-toolbar{grid-template-columns:1fr}.market-detail-image{height:280px}.market-detail-head{flex-direction:column}.market-category-admin{grid-template-columns:50px 1fr}.market-category-admin>*:nth-child(n+3){grid-column:1/-1}}

/* =========================================================
   V15.1 — Palm Social, interface inspirée des réseaux sociaux
   ========================================================= */
.pc-social-network{max-width:1500px;margin:0 auto}.pc-social-topbar{position:sticky;top:76px;z-index:30;display:grid;grid-template-columns:240px minmax(220px,420px) 1fr auto;align-items:center;gap:18px;padding:10px 16px;margin-bottom:18px;border-radius:18px;background:rgba(7,18,32,.96);backdrop-filter:blur(18px)}.pc-social-brand{display:flex;align-items:center;gap:10px;font-size:20px}.pc-social-brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#28ddea,#f361b2)}.pc-social-search{display:flex;align-items:center;gap:9px;padding:0 14px;border-radius:999px;background:#142437}.pc-social-search input{width:100%;border:0;background:transparent;padding:11px 0;color:var(--text);outline:0}.pc-social-tabs{display:flex;justify-content:center;gap:8px}.pc-social-tabs a{display:grid;place-items:center;min-width:66px;height:44px;border-radius:12px;font-size:22px;color:var(--muted);border-bottom:3px solid transparent}.pc-social-tabs a:hover,.pc-social-tabs a.active{color:#54e7ef;background:rgba(65,225,237,.08);border-bottom-color:#54e7ef}.pc-social-me{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#11243a}.pc-social-me span,.menu-avatar,.composer-avatar,.pc-fb-avatar,.pc-fb-comment>span,.pc-social-suggestion>span{display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,#43e3ed,#f16cb5);color:#07111e;font-weight:900}.pc-social-me span{width:34px;height:34px}.pc-social-grid{display:grid;grid-template-columns:260px minmax(0,720px) 310px;gap:20px;align-items:start}.pc-social-left,.pc-social-right{position:sticky;top:150px;display:grid;gap:16px}.pc-social-menu{display:grid;padding:10px}.pc-social-menu h3{margin:8px 10px 10px}.pc-social-menu a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:var(--text);font-weight:700}.pc-social-menu a:hover,.pc-social-menu a.active{background:rgba(67,224,237,.1);color:#64ebf2}.pc-social-menu a>span:not(.menu-avatar){width:30px;text-align:center;font-size:20px}.menu-avatar{width:34px;height:34px;font-size:11px}.pc-social-center{display:grid;gap:16px}.pc-social-stories{display:grid;grid-template-columns:repeat(5,minmax(105px,1fr));gap:9px;padding:10px;overflow-x:auto}.pc-story{position:relative;display:flex;align-items:flex-end;min-height:180px;padding:12px;border-radius:15px;overflow:hidden;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.08)),var(--story-bg,linear-gradient(145deg,#20496a,#632b68));background-size:cover;background-position:center;color:#fff}.pc-story:hover{transform:translateY(-2px)}.pc-story b{position:relative;z-index:2;font-size:13px}.story-avatar{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:38px;height:38px;border:3px solid #39ddea;border-radius:50%;background:#142437;overflow:hidden;font-size:11px}.story-avatar img{width:100%;height:100%;object-fit:cover}.pc-story-create{align-items:center;justify-content:flex-end;flex-direction:column;text-align:center;background:linear-gradient(145deg,#15283d,#263349)}.pc-story-create>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:50%;background:#2edfea;color:#07111e;font-size:26px}.pc-social-composer{padding:14px 16px}.composer-row{display:flex;gap:12px;align-items:flex-start}.composer-avatar{width:42px;height:42px;font-size:12px}.composer-row textarea{flex:1;min-height:44px;max-height:150px;padding:12px 16px;border:0;border-radius:24px;background:#15263a;color:var(--text);resize:vertical}.composer-divider{height:1px;margin:12px 0;background:rgba(126,171,202,.16)}.composer-tools{display:flex;align-items:center;gap:8px}.composer-tools label{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;cursor:pointer}.composer-tools label:hover{background:rgba(255,255,255,.05)}.composer-tools select{max-width:120px;padding:5px;border:0;background:transparent;color:var(--muted)}.composer-tools input[type=file]{display:none}.composer-tools .btn{margin-left:auto}.pc-fb-post{padding:0;overflow:visible}.pc-fb-post-head{display:flex;justify-content:space-between;align-items:center;padding:15px 16px 10px}.pc-fb-author{display:flex;align-items:center;gap:11px}.pc-fb-avatar{width:46px;height:46px;overflow:hidden}.pc-fb-avatar img{width:100%;height:100%;object-fit:cover}.pc-fb-author small{display:block;margin-top:3px;color:var(--muted)}.verified{display:inline-grid;place-items:center;width:17px;height:17px;margin-left:3px;border-radius:50%;background:#36ddea;color:#08121d;font-style:normal;font-size:11px}.pc-fb-more summary{cursor:pointer;font-size:20px;letter-spacing:2px}.pc-fb-post-text{padding:6px 16px 14px;font-size:16px;line-height:1.55}.pc-fb-post-media{display:block;width:100%;max-height:680px;object-fit:cover;background:#06111e}.pc-fb-counts{display:flex;justify-content:space-between;padding:10px 16px;color:var(--muted);font-size:13px}.reaction-summary i{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:-5px;border:2px solid #0a1727;border-radius:50%;background:#17304a;font-style:normal;font-size:11px}.pc-fb-actions{display:grid;grid-template-columns:1fr auto;gap:5px;margin:0 16px;padding:6px 0;border-top:1px solid rgba(127,174,203,.16);border-bottom:1px solid rgba(127,174,203,.16)}.pc-fb-actions form{display:grid;grid-template-columns:repeat(4,1fr)}.pc-fb-actions button{border:0;border-radius:8px;background:transparent;color:var(--muted);padding:9px 6px;font-weight:700;cursor:pointer}.pc-fb-actions button:hover,.pc-fb-actions button.active{background:rgba(73,221,234,.08);color:#65e8f0}.pc-fb-actions button span{margin-right:4px}.pc-fb-comments{display:grid;gap:8px;padding:12px 16px 4px}.pc-fb-comment{display:flex;align-items:flex-start;gap:8px}.pc-fb-comment>span{width:34px;height:34px;font-size:10px}.pc-fb-comment>div{padding:8px 11px;border-radius:16px;background:#14263a}.pc-fb-comment p{margin:2px 0 0}.pc-fb-comment-form{display:grid;grid-template-columns:95px 1fr 42px;gap:8px;padding:12px 16px 16px}.pc-fb-comment-form input,.pc-fb-comment-form select{border:0;border-radius:18px;background:#14263a}.pc-fb-comment-form button{border:0;border-radius:50%;background:#2ddce8;color:#07111e;font-weight:900}.pc-social-right-card{padding:14px}.pc-social-right-card h3{margin:4px 4px 10px}.pc-social-right-card>a:not(.btn){display:grid;gap:2px;padding:10px 5px;border-bottom:1px solid rgba(126,174,204,.12)}.pc-social-right-card small,.pc-social-right-card .muted{color:var(--muted)}.pc-social-suggestion{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px}.pc-social-suggestion>span{width:40px;height:40px;font-size:11px}.pc-social-suggestion>div{display:grid}.pc-social-market-card{background:radial-gradient(circle at 85% 0,rgba(240,87,177,.23),transparent 48%),#0b1a2c}.pc-social-market-card p{color:var(--muted);line-height:1.5}
@media(max-width:1250px){.pc-social-grid{grid-template-columns:230px minmax(0,720px)}.pc-social-right{display:none}.pc-social-topbar{grid-template-columns:200px minmax(200px,360px) 1fr auto}}
@media(max-width:950px){.pc-social-topbar{top:68px;grid-template-columns:auto 1fr auto}.pc-social-tabs{display:none}.pc-social-me b,.pc-social-brand strong{display:none}.pc-social-grid{grid-template-columns:1fr}.pc-social-left{display:none}.pc-social-center{max-width:720px;margin:0 auto;width:100%}}
@media(max-width:620px){.pc-social-network{margin:0 -8px}.pc-social-topbar{position:static;border-radius:12px;grid-template-columns:auto 1fr auto;gap:8px}.pc-social-search{min-width:0}.pc-social-stories{grid-template-columns:repeat(5,115px)}.pc-story{min-height:155px}.composer-tools{display:grid;grid-template-columns:1fr 1fr}.composer-tools .btn{grid-column:1/-1;width:100%;margin:0}.composer-tools label span{display:none}.pc-fb-actions{grid-template-columns:1fr}.pc-fb-actions>button{display:none}.pc-fb-actions button{font-size:0}.pc-fb-actions button span{font-size:19px;margin:0}.pc-fb-comment-form{grid-template-columns:1fr 40px}.pc-fb-comment-form select{grid-column:1/-1}.pc-fb-post{border-radius:12px}}

/* =========================================================
   V15.2 — Navigation mobile native / tiroir responsive
   ========================================================= */
.mobile-nav-head,
.mobile-nav-section-title,
.mobile-action-label,
.mobile-action-chevron,
.mobile-nav-backdrop{
  display:none;
}

@media (max-width:1080px){
  html.mobile-nav-open,
  body.mobile-nav-open{
    overflow:hidden!important;
    overscroll-behavior:none;
  }

  .topbar.redesign{
    min-height:68px;
    padding:8px 12px;
    padding-top:max(8px,env(safe-area-inset-top));
  }

  .topbar.redesign .topbar-shell{
    width:100%;
    max-width:none;
    margin:0;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px;
  }

  .topbar.redesign .brand-area{
    width:100%;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }

  .topbar.redesign .brand-logo{
    min-width:0;
    gap:10px;
  }

  .topbar.redesign .brand-logo img{
    width:50px;
    height:50px;
    border-radius:15px;
  }

  .topbar.redesign .brand-copy{
    display:flex;
    min-width:0;
  }

  .topbar.redesign .brand-copy strong{
    max-width:210px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:18px;
  }

  .topbar.redesign .brand-copy small{
    display:none;
  }

  .topbar.redesign .nav-toggle{
    position:relative;
    z-index:1520;
    display:inline-flex!important;
    min-width:98px;
    min-height:46px;
    margin-left:auto;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 15px;
    border:1px solid rgba(115,226,238,.2);
    border-radius:15px;
    background:linear-gradient(145deg,#0b1b2e,#0a1728);
    color:#f3fbff;
    box-shadow:0 10px 28px rgba(0,0,0,.2);
    font-size:15px;
  }

  .topbar.redesign .nav-toggle:active{
    transform:scale(.98);
  }

  .nav-toggle-icon{
    font-size:18px;
    line-height:1;
  }

  .mobile-nav-backdrop{
    position:fixed;
    inset:0;
    z-index:1480;
    display:block;
    border:0;
    padding:0;
    background:rgba(1,7,14,.68);
    backdrop-filter:blur(5px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility .22s ease;
  }

  .topbar.redesign.nav-open .mobile-nav-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .topbar.redesign .pc-nav{
    position:fixed!important;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    z-index:1500;
    width:min(90vw,390px)!important;
    height:100vh;
    height:100dvh;
    min-width:0;
    margin:0;
    padding:0;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow:hidden!important;
    border-left:1px solid rgba(112,227,238,.2);
    background:
      radial-gradient(circle at 85% 3%,rgba(255,73,158,.18),transparent 30%),
      linear-gradient(180deg,rgba(7,19,34,.995),rgba(4,14,27,.995));
    box-shadow:-24px 0 75px rgba(0,0,0,.5);
    transform:translate3d(105%,0,0);
    visibility:hidden;
    pointer-events:none;
    transition:transform .26s cubic-bezier(.22,.8,.28,1),visibility .26s ease;
    overscroll-behavior:contain;
  }

  .topbar.redesign.nav-open .pc-nav{
    transform:translate3d(0,0,0);
    visibility:visible;
    pointer-events:auto;
  }

  .mobile-nav-head{
    min-height:74px;
    padding:12px 14px;
    padding-top:max(12px,env(safe-area-inset-top));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex:0 0 auto;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(5,16,29,.9);
  }

  .mobile-nav-brand{
    min-width:0;
    display:flex;
    align-items:center;
    gap:11px;
  }

  .mobile-nav-brand img{
    width:44px;
    height:44px;
    flex:0 0 44px;
    object-fit:cover;
    border-radius:13px;
    border:1px solid rgba(255,255,255,.1);
  }

  .mobile-nav-brand strong,
  .mobile-nav-brand small{
    display:block;
  }

  .mobile-nav-brand strong{
    max-width:220px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:15px;
  }

  .mobile-nav-brand small{
    margin-top:2px;
    color:#88a2ba;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  .mobile-nav-close{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    background:#0d2034;
    color:#e9f9ff;
    font-size:19px;
    cursor:pointer;
  }

  .mobile-nav-scroll{
    min-height:0;
    flex:1 1 auto;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:14px 14px calc(18px + env(safe-area-inset-bottom));
    scrollbar-width:thin;
    scrollbar-color:#2e5368 transparent;
  }

  .mobile-nav-section-title{
    display:block;
    margin:3px 4px 9px;
    color:#6f8ca6;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
  }

  .mobile-nav-section-title-actions{
    margin-top:18px;
  }

  .topbar.redesign .nav-groups{
    width:100%;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    flex-wrap:nowrap!important;
  }

  .topbar.redesign .nav-group{
    width:100%;
    min-width:0;
    border-radius:17px;
    background:linear-gradient(155deg,rgba(13,31,50,.98),rgba(8,23,39,.98));
    border:1px solid rgba(110,226,237,.14);
    box-shadow:none;
    overflow:hidden;
  }

  .topbar.redesign .nav-group[open]{
    border-color:rgba(73,226,237,.33);
    box-shadow:0 12px 30px rgba(0,0,0,.16);
  }

  .topbar.redesign .nav-group summary{
    min-height:58px;
    padding:0 16px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    justify-content:stretch;
    gap:10px;
    white-space:normal;
    font-size:16px;
    touch-action:manipulation;
  }

  .topbar.redesign .nav-group summary::after{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:rgba(72,221,234,.08);
    content:'▾';
  }

  .topbar.redesign .nav-group[open] summary::after{
    content:'▴';
  }

  .nav-summary-icon{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#102940;
    font-size:19px;
  }

  .topbar.redesign .nav-menu{
    position:static!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0;
    padding:4px 8px 10px;
    display:grid;
    gap:4px;
    border:0;
    border-top:1px solid rgba(255,255,255,.06);
    border-radius:0;
    background:rgba(4,16,29,.42);
    box-shadow:none!important;
  }

  .topbar.redesign .nav-menu a{
    min-height:47px;
    padding:10px 12px;
    display:flex;
    align-items:center;
    gap:11px;
    border-radius:12px;
    color:#cbdceb;
    font-size:14px;
    touch-action:manipulation;
  }

  .topbar.redesign .nav-menu a:hover,
  .topbar.redesign .nav-menu a:active,
  .topbar.redesign .nav-menu a.active{
    transform:none;
    color:#f2fdff;
    background:linear-gradient(135deg,rgba(54,217,231,.12),rgba(255,94,166,.07));
  }

  .nav-link-icon{
    width:31px;
    height:31px;
    flex:0 0 31px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#10263b;
  }

  .topbar.redesign .nav-actions{
    width:100%;
    margin:0;
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:9px!important;
    flex-wrap:nowrap!important;
  }

  .topbar.redesign .nav-actions>*{
    width:100%!important;
    min-width:0!important;
  }

  .mobile-action-label{
    display:block;
    min-width:0;
    flex:1 1 auto;
    text-align:left;
    color:#e5f3fc;
    font-size:14px;
    font-weight:800;
  }

  .mobile-action-chevron{
    display:block;
    margin-left:auto;
    color:#78a0ba;
    font-size:21px;
    line-height:1;
  }

  .topbar.redesign .notification-center{
    position:relative;
  }

  .topbar.redesign .notification-center>summary{
    width:100%!important;
    height:54px!important;
    min-height:54px;
    padding:0 14px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    border-radius:15px;
    background:linear-gradient(155deg,#0c2136,#091a2d);
    touch-action:manipulation;
  }

  .topbar.redesign .notification-bell{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#132c43;
    font-size:18px;
  }

  .topbar.redesign .notification-count{
    position:static;
    min-width:24px;
    height:24px;
    margin-left:auto;
    box-shadow:none;
  }

  .topbar.redesign .notification-count:not([hidden]) + .mobile-action-chevron{
    margin-left:0;
  }

  .topbar.redesign .notification-popover{
    position:static!important;
    width:100%!important;
    max-height:none;
    margin-top:8px;
    border-radius:16px;
    box-shadow:none;
  }

  .topbar.redesign .admin-search-trigger{
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    border-radius:15px;
    background:linear-gradient(155deg,#0c2136,#091a2d);
  }

  .topbar.redesign .admin-search-trigger .search-icon{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    background:#132c43;
    font-size:18px;
  }

  .topbar.redesign .admin-search-trigger kbd{
    display:inline-flex;
    margin-left:auto;
    padding:4px 7px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:7px;
    background:#071626;
    color:#8ba8bf;
    font-size:10px;
  }

  .topbar.redesign .admin-search-trigger kbd + .mobile-action-chevron{
    margin-left:0;
  }

  .topbar.redesign .user-menu-dropdown{
    width:100%!important;
  }

  .topbar.redesign .user-menu-dropdown>summary{
    width:100%;
    min-height:60px;
    justify-content:flex-start;
    padding:6px 10px 6px 7px;
    border-radius:16px;
    background:linear-gradient(155deg,#0d2237,#091a2c);
  }

  .topbar.redesign .user-chip-copy{
    display:flex!important;
    flex:1 1 auto;
  }

  .topbar.redesign .user-chip-copy b{
    max-width:none;
    font-size:14px;
  }

  .topbar.redesign .user-menu-chevron{
    margin-left:auto;
  }

  .topbar.redesign .avatar-menu{
    position:static!important;
    width:100%!important;
    margin-top:8px;
    padding:8px;
    border-radius:16px;
    box-shadow:none!important;
  }

  .topbar.redesign .avatar-menu::before{
    display:none!important;
  }

  .topbar.redesign .avatar-menu-head{
    display:none;
  }

  .topbar.redesign .avatar-menu-links{
    padding:0;
  }

  .topbar.redesign .avatar-menu-links a{
    min-height:54px;
    grid-template-columns:38px minmax(0,1fr);
  }

  .topbar.redesign .avatar-menu-links a small{
    font-size:10px;
  }

  .topbar.redesign .avatar-menu-logout button{
    min-height:50px;
  }

  .command-palette{
    z-index:1700;
  }
}

@media (max-width:520px){
  .topbar.redesign{
    padding-left:10px;
    padding-right:10px;
  }

  .topbar.redesign .brand-copy{
    display:none!important;
  }

  .topbar.redesign .brand-logo img{
    width:48px;
    height:48px;
  }

  .topbar.redesign .nav-toggle{
    min-width:94px;
    min-height:44px;
    padding:0 13px;
  }

  .topbar.redesign .pc-nav{
    width:min(94vw,390px)!important;
  }

  .mobile-nav-scroll{
    padding-left:11px;
    padding-right:11px;
  }

  .topbar.redesign .nav-group summary{
    min-height:56px;
    padding-left:13px;
    padding-right:13px;
    font-size:15px;
  }

  .topbar.redesign .nav-menu a{
    min-height:45px;
    font-size:13px;
  }
}

@media (max-width:380px){
  .topbar.redesign .pc-nav{
    width:100vw!important;
  }

  .mobile-nav-brand strong{
    max-width:180px;
  }
}

@media (orientation:landscape) and (max-height:560px) and (max-width:1080px){
  .mobile-nav-head{
    min-height:62px;
    padding-top:max(8px,env(safe-area-inset-top));
    padding-bottom:8px;
  }

  .topbar.redesign .nav-group summary{
    min-height:50px;
  }
}

@media (prefers-reduced-motion:reduce){
  .topbar.redesign .pc-nav,
  .mobile-nav-backdrop{
    transition:none!important;
  }
}

/* =========================================================
   V15.3 — Administration des rôles et application mobile PWA
   ========================================================= */
.avatar-menu-install{
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.avatar-menu-install:hover,
.avatar-menu-install:focus-visible{
  background:rgba(71,224,239,.08);
  outline:none;
}
.avatar-menu-install>span{font-size:1.2rem}
.avatar-menu-install div{display:grid;gap:2px}
.avatar-menu-install b{font-size:.95rem;color:#f4f8ff}
.avatar-menu-install small{color:#8fa7bc;font-size:.76rem}

.admin-users-head{align-items:flex-end}
.admin-role-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-role-panel{overflow:hidden}
.admin-role-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.admin-role-toolbar h2{margin:0 0 6px}
.admin-role-search{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.admin-role-search input{min-width:min(330px,70vw)}
.admin-role-table{display:grid;gap:8px}
.admin-role-row{
  display:grid;
  grid-template-columns:minmax(200px,1.15fr) minmax(150px,.72fr) minmax(170px,.8fr) minmax(300px,1.7fr);
  gap:16px;
  align-items:center;
  padding:14px 16px;
  border:1px solid rgba(122,194,227,.12);
  border-radius:16px;
  background:rgba(5,18,31,.58);
}
.admin-role-row.head{
  padding-block:10px;
  border:0;
  background:transparent;
  color:#7f9bb2;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.admin-role-row.is-staff{
  border-color:rgba(67,226,239,.25);
  box-shadow:inset 3px 0 rgba(67,226,239,.65);
}
.admin-role-row>span{min-width:0}
.admin-role-row small{display:block;color:#829bb0;margin-top:4px;overflow-wrap:anywhere}
.admin-role-account b{font-size:1rem}
.admin-level-badge{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(120,141,163,.14);
  border:1px solid rgba(120,141,163,.22);
  font-weight:800;
  font-size:.76rem;
}
.admin-level-badge.level-1{color:#51e0ef;background:rgba(40,197,221,.10);border-color:rgba(40,197,221,.25)}
.admin-level-badge.level-2{color:#ff86c5;background:rgba(255,87,168,.10);border-color:rgba(255,87,168,.25)}
.admin-level-badge.level-3{color:#ffd36b;background:rgba(255,193,67,.10);border-color:rgba(255,193,67,.25)}
.admin-role-form{
  display:grid;
  grid-template-columns:minmax(135px,.8fr) minmax(160px,1.2fr) auto;
  gap:8px;
  align-items:center;
}
.admin-role-form input,
.admin-role-form select{min-width:0;width:100%}
.admin-role-audit{margin-top:22px}
.admin-audit-list{display:grid;gap:10px}
.admin-audit-list article{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(123,184,214,.12);
  background:rgba(4,17,29,.48);
}
.admin-audit-list article>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.admin-audit-list p{margin:7px 0;color:#c3d4e1}
.admin-audit-list small{color:#7892a8}

@media (max-width:1180px){
  .admin-role-row{
    grid-template-columns:minmax(180px,1fr) minmax(140px,.7fr) minmax(150px,.8fr);
  }
  .admin-role-row.head span:last-child{display:none}
  .admin-role-row>span:last-child{grid-column:1/-1}
}
@media (max-width:760px){
  .admin-role-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-role-toolbar{align-items:stretch;flex-direction:column}
  .admin-role-search{justify-content:stretch}
  .admin-role-search input{min-width:0;flex:1 1 100%}
  .admin-role-row,
  .admin-role-row.head{
    grid-template-columns:1fr;
    gap:10px;
  }
  .admin-role-row.head{display:none}
  .admin-role-row>span:last-child{grid-column:auto}
  .admin-role-form{grid-template-columns:1fr}
  .admin-users-head{align-items:flex-start}
}

/* === Palm City V15.3.1: Wiki category routing and complete administration === */
.wiki-category-strip a{position:relative;min-height:112px;justify-content:center;text-decoration:none;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.wiki-category-strip a:hover,.wiki-category-strip a.is-active{transform:translateY(-3px);border-color:rgba(67,225,239,.55);background:linear-gradient(145deg,rgba(39,210,230,.12),rgba(255,67,151,.1))}
.wiki-category-strip a small{color:var(--muted);font-size:.75rem}
.wiki-sidebar>a.is-active{color:#fff;background:rgba(60,223,237,.1);border-radius:10px;padding-left:10px;padding-right:10px}
.wiki-results-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.wiki-results-title p{margin:5px 0 0;color:var(--muted)}
.wiki-empty-state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.wiki-empty-state>span{font-size:3rem}
.wiki-reader{max-width:1180px;margin:0 auto}
.wiki-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:16px;color:var(--muted)}
.wiki-breadcrumb a{color:#62e7ef;text-decoration:none}
.wiki-reader-hero{min-height:430px;border-radius:28px;border:1px solid rgba(96,226,238,.2);background-size:cover;background-position:center;display:flex;align-items:flex-end;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.wiki-reader-hero.without-cover{min-height:340px;background:radial-gradient(circle at 20% 20%,rgba(255,65,154,.23),transparent 34%),radial-gradient(circle at 80% 40%,rgba(49,220,237,.2),transparent 36%),#0a1526}
.wiki-reader-hero>div{padding:clamp(28px,6vw,64px);max-width:950px}
.wiki-reader-hero h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.02;margin:.15em 0}
.wiki-reader-hero p{font-size:1.08rem;color:#c7d8e8;max-width:760px}
.wiki-reader-meta{display:flex;gap:18px;flex-wrap:wrap;color:#9db4c9;font-size:.9rem}
.wiki-reader-content{margin-top:22px;padding:clamp(24px,5vw,54px)}
.wiki-related{margin-top:36px}
.wiki-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wiki-related-grid a{text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease}
.wiki-related-grid a:hover{transform:translateY(-3px);border-color:rgba(65,224,238,.4)}
.wiki-related-grid p{color:var(--muted)}
.staff-wiki-page,.staff-wiki-editor-page{max-width:1500px;margin:0 auto}
.staff-wiki-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.staff-wiki-head p{color:var(--muted);max-width:760px}
.staff-wiki-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.staff-wiki-stats article{display:grid;gap:4px}
.staff-wiki-stats span,.staff-wiki-stats small{color:var(--muted)}
.staff-wiki-stats strong{font-size:2.25rem;color:#50e1eb}
.staff-wiki-layout{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:20px;align-items:start}
.staff-wiki-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.staff-wiki-section-head h2{margin:.2em 0 0}
.staff-wiki-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.staff-wiki-filters input{min-width:220px}
.staff-wiki-filters input,.staff-wiki-filters select{min-height:42px}
.staff-wiki-list{display:flex;flex-direction:column;gap:11px}
.staff-wiki-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(5,17,31,.55)}
.staff-wiki-row-main{display:flex;align-items:flex-start;gap:14px;min-width:0}
.staff-wiki-row-main h3{margin:0 0 5px}
.staff-wiki-row-main p,.staff-wiki-row-main small{display:block;margin:0;color:var(--muted)}
.staff-wiki-status{flex:0 0 auto;padding:6px 9px;border-radius:99px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.staff-wiki-status.published{background:rgba(36,222,145,.13);color:#78f0bb;border:1px solid rgba(36,222,145,.25)}
.staff-wiki-status.draft{background:rgba(255,178,51,.12);color:#ffd17a;border:1px solid rgba(255,178,51,.24)}
.staff-wiki-row-actions{display:flex;gap:8px;flex:0 0 auto}
.staff-wiki-categories{display:flex;flex-direction:column;gap:16px}
.staff-wiki-category-form,.staff-wiki-category-item form{display:grid;gap:10px}
.staff-wiki-category-manager{max-height:780px;overflow:auto}
.staff-wiki-category-item{border-top:1px solid rgba(255,255,255,.08);padding:10px 0}
.staff-wiki-category-item summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;cursor:pointer;list-style:none;padding:7px 2px}
.staff-wiki-category-item summary::-webkit-details-marker{display:none}
.staff-wiki-category-item summary small{color:var(--muted)}
.staff-wiki-category-item[open] summary{color:#59e5ee}
.staff-wiki-category-item form{margin-top:10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.025)}
.staff-wiki-empty{min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}
.staff-wiki-empty>span{font-size:3rem}
.staff-wiki-editor{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;align-items:start}
.staff-wiki-editor-side{display:flex;flex-direction:column;gap:16px;position:sticky;top:92px}
.staff-wiki-editor-side .card{display:grid;gap:13px}
.staff-wiki-cover-preview{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.12)}
.switch-line{display:flex!important;align-items:center;gap:10px;padding:10px 0}
.switch-line input{width:20px;height:20px;flex:0 0 auto}
.danger-line{color:#ff9baa}
.staff-wiki-delete-form{display:flex;justify-content:flex-end;margin-top:18px}
.back-link{display:inline-block;margin-bottom:12px;color:#66e3eb;text-decoration:none}
.btn.danger{background:rgba(255,70,99,.14);border-color:rgba(255,70,99,.35);color:#ff9bab}
.btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:1100px){.staff-wiki-layout,.staff-wiki-editor{grid-template-columns:1fr}.staff-wiki-editor-side{position:static}.staff-wiki-stats{grid-template-columns:repeat(2,1fr)}.wiki-related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.staff-wiki-head,.staff-wiki-section-head,.staff-wiki-row{align-items:stretch;flex-direction:column}.staff-wiki-row-actions{width:100%}.staff-wiki-row-actions .btn{flex:1;text-align:center}.staff-wiki-filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.staff-wiki-filters input{min-width:0;grid-column:1/-1}.staff-wiki-stats{grid-template-columns:1fr 1fr}.wiki-related-grid{grid-template-columns:1fr}.wiki-reader-hero{min-height:340px}.wiki-category-strip{grid-template-columns:1fr 1fr}.wiki-category-strip a{min-height:96px}.wiki-results-title{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.staff-wiki-stats,.wiki-category-strip{grid-template-columns:1fr}.staff-wiki-filters{grid-template-columns:1fr}.staff-wiki-filters>*{grid-column:auto}.staff-wiki-row-main{flex-direction:column}.wiki-reader-hero h1{font-size:2.35rem}}


/* V15.3.2 - Cartes grises provisoires WW */
.wallet-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.wallet-registration-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border-radius:999px;background:linear-gradient(135deg,#ffd66b,#ff9f2e);color:#332000;border:1px solid rgba(255,255,255,.42);box-shadow:0 7px 18px rgba(91,52,0,.26);font-size:9px;font-weight:1000;letter-spacing:.08em;white-space:nowrap}
.wallet-provisional-notice{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:17px 20px;border-radius:20px;border:1px solid rgba(255,190,71,.38);background:linear-gradient(135deg,rgba(255,179,43,.18),rgba(145,86,0,.11));box-shadow:inset 0 1px rgba(255,255,255,.06)}
.wallet-provisional-notice>span{flex:0 0 58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,#ffd66b,#ff9f2e);color:#362000;font-size:21px;font-weight:1000;box-shadow:0 10px 30px rgba(104,63,0,.3)}
.wallet-provisional-notice strong{display:block;font-size:17px;color:#fff2cf}.wallet-provisional-notice p{margin:5px 0 0;color:#c9b995;line-height:1.55}
@media(max-width:560px){.wallet-card-badges{gap:4px}.wallet-registration-badge{font-size:7px;padding:4px 6px}.wallet-provisional-notice{align-items:flex-start;padding:14px}.wallet-provisional-notice>span{flex-basis:48px;height:48px;border-radius:14px}}

/* V15.3.3 Wiki definitive */
.wiki-version-badge{display:inline-flex;vertical-align:middle;margin-left:.55rem;padding:.28rem .55rem;border-radius:999px;font-size:.68rem;letter-spacing:.08em;background:linear-gradient(135deg,rgba(55,225,235,.18),rgba(255,76,155,.18));border:1px solid rgba(93,226,239,.3);color:#80f4f4}

/* ==========================================================
   V15.4 - Vehicle Sales, Discord & Launcher Hub
   ========================================================== */
.sale-shell,.launcher-shell,.staff-launcher-page,.staff-vehicle-sales-page{max-width:1480px;margin:0 auto}
.sale-hero,.launcher-hero{position:relative;overflow:hidden;padding:clamp(24px,5vw,54px);border-radius:28px;border:1px solid rgba(65,224,238,.2);background:radial-gradient(circle at 85% 20%,rgba(255,66,153,.2),transparent 34%),radial-gradient(circle at 15% 80%,rgba(49,220,237,.18),transparent 36%),linear-gradient(135deg,#0a1728,#101429);box-shadow:0 25px 80px rgba(0,0,0,.25)}
.sale-hero h1,.launcher-hero h1{font-size:clamp(2rem,5vw,4rem);margin:.15em 0}.sale-hero p,.launcher-hero p{color:#b7cadd;max-width:760px;line-height:1.65}.sale-hero-actions,.launcher-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.sale-kpis,.launcher-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.sale-kpis article,.launcher-kpis article{padding:18px;border-radius:18px;background:rgba(7,23,40,.78);border:1px solid rgba(255,255,255,.08)}.sale-kpis strong,.launcher-kpis strong{display:block;font-size:2rem;color:#55e6ee}.sale-kpis span,.launcher-kpis span{color:var(--muted)}
.sale-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.75fr);gap:20px;align-items:start}.sale-card{padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(7,21,37,.75)}.sale-list{display:grid;gap:14px}.sale-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(4,17,31,.64)}.sale-row h3{margin:0 0 6px}.sale-row p,.sale-row small{margin:0;color:var(--muted)}.sale-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.sale-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;border:1px solid rgba(255,255,255,.12)}.sale-status.awaiting_buyer{color:#ffd58c;background:rgba(255,174,53,.13)}.sale-status.ready{color:#7ef3c3;background:rgba(35,219,143,.13)}.sale-status.completed{color:#7de8ff;background:rgba(50,207,236,.13)}.sale-status.blocked,.sale-status.rejected,.sale-status.cancelled{color:#ff9daa;background:rgba(255,75,101,.13)}
.sale-form{display:grid;gap:18px}.sale-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sale-form label{display:grid;gap:7px}.sale-form label>span{font-weight:750;color:#d9e9f6}.sale-form input,.sale-form select,.sale-form textarea{width:100%}.sale-form textarea{min-height:130px;resize:vertical}.sale-warning{padding:15px 17px;border-radius:15px;background:rgba(255,178,53,.11);border:1px solid rgba(255,178,53,.24);color:#ffe1a7}.sale-success{padding:15px 17px;border-radius:15px;background:rgba(35,219,143,.1);border:1px solid rgba(35,219,143,.24);color:#8bf4c9}
.sale-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.sale-reference{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#69e7ef}.sale-parties{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin:20px 0}.sale-party{padding:20px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}.sale-arrow{display:grid;place-items:center;font-size:2rem;color:#50e2ea}.sale-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sale-facts div{padding:14px;border-radius:14px;background:rgba(255,255,255,.03)}.sale-facts span{display:block;color:var(--muted);font-size:.78rem}.sale-facts strong{display:block;margin-top:4px}.sale-signature{font-family:cursive;font-size:1.45rem;color:#fff}.sale-timeline{display:grid;gap:10px}.sale-event{position:relative;padding:14px 14px 14px 42px;border-left:1px solid rgba(78,227,237,.3)}.sale-event:before{content:'';position:absolute;left:-5px;top:21px;width:9px;height:9px;border-radius:50%;background:#4ee3ed;box-shadow:0 0 16px rgba(78,227,237,.8)}.sale-event p{margin:4px 0 0;color:var(--muted)}
.verify-card{max-width:920px;margin:0 auto;padding:clamp(24px,5vw,48px)}.verify-seal{width:94px;height:94px;display:grid;place-items:center;border-radius:28px;margin-bottom:18px;background:linear-gradient(135deg,#42dfe9,#ff4c99);color:#06121f;font-size:2.5rem}.verify-matrix{display:grid;grid-template-columns:repeat(12,10px);gap:2px;padding:12px;width:max-content;background:#fff;border-radius:8px}.verify-matrix i{width:10px;height:10px;background:#fff}.verify-matrix i.on{background:#07111e}
.launcher-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:20px;margin-top:20px}.launcher-release{padding:24px}.launcher-version{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(63,226,236,.12);border:1px solid rgba(63,226,236,.25);color:#7bf0f5;font-weight:900}.launcher-meta{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);margin:14px 0}.launcher-changelog{white-space:pre-line;line-height:1.65}.launcher-download{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px;border-radius:18px;background:linear-gradient(135deg,rgba(57,224,235,.15),rgba(69,138,255,.12));border:1px solid rgba(77,225,237,.25)}.launcher-sha{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.76rem;color:#95aec1}.launcher-history{display:grid;gap:10px}.launcher-history-row{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.discord-card{position:relative;overflow:hidden;padding:24px;background:linear-gradient(145deg,rgba(88,101,242,.22),rgba(18,25,54,.9));border:1px solid rgba(133,144,255,.28)}.discord-card img{width:100%;max-height:170px;object-fit:cover;border-radius:14px;margin-bottom:14px}.discord-card h2{margin:.2em 0}.discord-card p{color:#c8cfef}
.staff-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.staff-control-card{padding:22px}.staff-control-card form{display:grid;gap:12px}.staff-release-list{display:grid;gap:12px;margin-top:18px}.staff-release-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}.staff-release-actions{display:flex;gap:8px;flex-wrap:wrap}.staff-upload-note{font-size:.82rem;color:var(--muted)}
@media(max-width:1100px){.sale-grid,.launcher-layout{grid-template-columns:1fr}.sale-kpis,.launcher-kpis{grid-template-columns:repeat(2,1fr)}.staff-control-grid{grid-template-columns:1fr}}
@media(max-width:760px){.sale-form-grid,.sale-facts{grid-template-columns:1fr}.sale-parties{grid-template-columns:1fr}.sale-arrow{transform:rotate(90deg)}.sale-row,.staff-release-row{grid-template-columns:1fr}.sale-row-actions,.staff-release-actions{justify-content:flex-start}.sale-detail-head{flex-direction:column}.sale-kpis,.launcher-kpis{grid-template-columns:1fr 1fr}.launcher-download{align-items:flex-start;flex-direction:column}}
@media(max-width:480px){.sale-kpis,.launcher-kpis{grid-template-columns:1fr}.sale-hero,.launcher-hero{border-radius:20px;padding:22px}.sale-card,.launcher-release{padding:16px}.verify-matrix{grid-template-columns:repeat(12,7px)}.verify-matrix i{width:7px;height:7px}}
/* V15.4 compatibility styles for shipped views */
.vehicle-sale-head{align-items:flex-end}.vehicle-sale-list{display:grid;gap:14px}.vehicle-sale-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px}.vehicle-sale-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(135deg,rgba(55,225,235,.18),rgba(255,74,152,.15));font-size:1.7rem}.vehicle-sale-main h2{margin:0 0 5px}.vehicle-sale-main p{margin:0;color:var(--muted)}.vehicle-sale-value{text-align:right}.vehicle-sale-value strong{display:block;font-size:1.25rem}.vehicle-sale-value .status{margin-top:7px}.vehicle-sale-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vehicle-sale-form>section{padding:22px}.vehicle-sale-form .sale-legal-box{grid-column:1/-1}.sale-signature-hint{padding:12px;border-radius:12px;background:rgba(61,226,236,.08);color:#b8d9e7}.vehicle-sale-hero{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;text-align:center;padding:26px}.vehicle-sale-hero>strong{font-size:2.4rem;color:#58e5ed}.vehicle-sale-hero span{font-size:.72rem;letter-spacing:.16em;color:var(--muted)}.vehicle-sale-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.65fr);gap:20px;margin-top:20px;align-items:start}.vehicle-sale-layout main,.vehicle-sale-layout aside{display:grid;gap:18px}.vehicle-sale-contract-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.vehicle-sale-contract-grid>div{padding:14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}.vehicle-sale-contract-grid small{display:block;color:var(--muted)}.vehicle-sale-contract-grid strong{display:block;margin-top:5px}.sale-event-list{display:grid;gap:10px}.sale-event-list article{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.03)}.sale-event-list article>span{font-size:.72rem;font-weight:900;letter-spacing:.08em;color:#65e8ef}.sale-event-list p{margin:0}.sale-event-list small{color:var(--muted)}.sale-blocked{padding:14px;border-radius:14px;background:rgba(255,76,101,.12);border:1px solid rgba(255,76,101,.25);color:#ffb0bb}.vehicle-sale-admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.staff-filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.staff-filter-bar input{min-width:260px;flex:1}.status.awaiting_buyer{color:#ffd491;background:rgba(255,171,48,.14)}.status.ready{color:#85f3c8;background:rgba(36,219,143,.14)}.status.completed{color:#80ebf5;background:rgba(55,225,235,.14)}.status.blocked,.status.rejected,.status.cancelled{color:#ffabb7;background:rgba(255,76,101,.14)}
.launcher-page{max-width:1400px;margin:0 auto}.launcher-page .launcher-hero{min-height:360px;display:flex;flex-direction:column;justify-content:center;padding:clamp(26px,6vw,64px);background:radial-gradient(circle at 85% 20%,rgba(255,69,154,.24),transparent 35%),radial-gradient(circle at 15% 80%,rgba(50,221,237,.22),transparent 38%),linear-gradient(135deg,#081626,#11152b)}.launcher-page .launcher-hero h1{font-size:clamp(2.3rem,6vw,4.8rem);margin:.15em 0}.launcher-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.discord-btn{background:linear-gradient(135deg,#5865f2,#7a59ef);color:#fff;border-color:rgba(255,255,255,.16)}.launcher-empty{text-align:center}.launcher-orb{width:92px;height:92px;display:grid;place-items:center;margin:0 auto 16px;border-radius:28px;background:linear-gradient(135deg,#42dfe9,#ff4c99);font-size:2.8rem}.launcher-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.launcher-grid>.card{padding:22px}.hash-code{display:block;padding:11px;border-radius:10px;background:rgba(0,0,0,.25);word-break:break-all;font-size:.75rem}.launcher-history{grid-column:1/-1}.launcher-history table{width:100%}.discord-panel{grid-column:1/-1;position:relative;overflow:hidden;padding:26px;background:linear-gradient(135deg,rgba(88,101,242,.2),rgba(20,27,56,.9))}.discord-panel img{width:100%;max-height:220px;object-fit:cover;border-radius:16px}.launcher-admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.launcher-release-list{display:grid;gap:12px}.launcher-release-list article{padding:15px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
@media(max-width:1100px){.vehicle-sale-layout,.launcher-admin-layout{grid-template-columns:1fr}.vehicle-sale-admin-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.vehicle-sale-form,.launcher-grid{grid-template-columns:1fr}.vehicle-sale-form .sale-legal-box,.launcher-history,.discord-panel{grid-column:auto}.vehicle-sale-row{grid-template-columns:56px 1fr}.vehicle-sale-value{grid-column:1/-1;text-align:left}.vehicle-sale-hero{grid-template-columns:1fr}.vehicle-sale-hero>strong{transform:rotate(90deg)}.vehicle-sale-contract-grid{grid-template-columns:1fr 1fr}.vehicle-sale-admin-stats{grid-template-columns:1fr 1fr}.sale-event-list article{grid-template-columns:1fr}.staff-filter-bar{display:grid}.staff-filter-bar input{min-width:0}}
@media(max-width:480px){.vehicle-sale-contract-grid,.vehicle-sale-admin-stats{grid-template-columns:1fr}.vehicle-sale-row{grid-template-columns:1fr}.vehicle-sale-icon{width:48px;height:48px}.launcher-page .launcher-hero{min-height:300px;border-radius:20px}}


/* =========================================================
   V15.4.1.3 — Correctif structurel navbar desktop
   Le conteneur mobile-nav-scroll doit être horizontal sur PC.
   ========================================================= */
@media (min-width:1081px){
  .topbar.redesign{
    padding:14px max(16px,3vw);
  }

  .topbar.redesign .topbar-shell{
    width:min(1480px,98%);
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
  }

  .topbar.redesign .pc-nav{
    flex:1 1 auto;
    min-width:0;
    display:block;
  }

  .topbar.redesign .mobile-nav-scroll{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) max-content;
    align-items:center;
    gap:16px;
    overflow:visible;
    padding:0;
  }

  .topbar.redesign .mobile-nav-section-title{
    display:none!important;
  }

  .topbar.redesign .nav-groups{
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:10px;
  }

  .topbar.redesign .nav-actions{
    width:auto;
    min-width:max-content;
    margin-left:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap;
    gap:8px;
  }

  .topbar.redesign .nav-group{
    flex:0 1 auto;
    min-width:0;
  }

  .topbar.redesign .nav-group summary{
    white-space:nowrap;
  }
}

@media (min-width:1081px) and (max-width:1280px){
  .topbar.redesign .brand-copy{
    display:none;
  }

  .topbar.redesign .brand-logo img{
    width:50px;
    height:50px;
  }

  .topbar.redesign .nav-group summary{
    padding:10px 11px;
    font-size:13px;
  }

  .topbar.redesign .user-chip-copy{
    display:none!important;
  }
}

/* PC_NAVBAR_FIX_V15413_STRUCTURE */


/* =========================================================
   V15.4.2 — Discord navbar, launcher accueil, PWA mobile
   ========================================================= */
.nav-discord-action{
  width:46px;
  min-width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(137,145,255,.28);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(88,101,242,.95),rgba(112,78,224,.95));
  color:#fff;
  box-shadow:0 10px 24px rgba(88,101,242,.2);
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;
}
.nav-discord-action:hover,
.nav-discord-action:focus-visible{
  transform:translateY(-2px);
  filter:brightness(1.08);
  box-shadow:0 14px 30px rgba(88,101,242,.32);
  outline:none;
}
.nav-discord-icon{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
}
.nav-discord-icon svg{
  width:23px;
  height:23px;
  display:block;
  fill:currentColor;
}
.home-launcher-btn,
.dashboard-launcher-btn{
  gap:9px;
  align-items:center;
  justify-content:center;
  color:#07111d;
  background:linear-gradient(90deg,#47e5e8,#67b7ff);
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 12px 30px rgba(55,211,236,.18);
}
.home-launcher-btn:hover,
.dashboard-launcher-btn:hover{
  filter:brightness(1.07);
  transform:translateY(-1px);
}
.pagehead-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
@media (min-width:1081px){
  .mobile-only-pwa-install{
    display:none!important;
  }
}
@media (max-width:1080px){
  .topbar.redesign .nav-discord-action{
    width:100%!important;
    min-width:0!important;
    height:54px!important;
    padding:0 14px;
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    gap:11px;
    border-radius:15px;
    background:linear-gradient(145deg,rgba(88,101,242,.96),rgba(101,75,218,.96));
  }
  .topbar.redesign .nav-discord-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:11px;
    background:rgba(255,255,255,.11);
  }
  .topbar.redesign .nav-discord-icon svg{
    width:20px;
    height:20px;
  }
  .mobile-only-pwa-install:not([hidden]){
    display:flex!important;
  }
  .dashboard-pagehead{
    align-items:flex-start;
    gap:16px;
  }
}
@media (max-width:620px){
  .home-hero-actions,
  .pagehead-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .home-hero-actions .btn,
  .pagehead-actions .btn{
    width:100%;
  }
}
/* PC_V1542_UI_SHORTCUTS */
