:root{
  --bg:#090c15; --bg2:#0d111d; --panel:#111727; --panel2:#151d31; --line:#242d45;
  --text:#eef1ff; --muted:#8f98b6; --purple:#7b4cff; --purple2:#9a72ff; --green:#21d478;
  --red:#ff4f65; --orange:#ff9f43; --blue:#4f8cff; --cyan:#52d6ff; --shadow:0 18px 50px rgba(0,0,0,.28);
}
*{box-sizing:border-box} html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}.app-shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#0c1020 0%,#090d17 100%);border-right:1px solid #1d2438;display:flex;flex-direction:column;padding:18px 14px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 18px}.brand-mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:900;font-size:24px;background:linear-gradient(145deg,#9d75ff,#5c2df0);box-shadow:0 0 30px rgba(123,76,255,.35)}.brand-name{font-weight:800;letter-spacing:.18em;color:#b89cff}.brand-sub{font-size:10px;letter-spacing:.22em;color:#8991ac;margin-top:3px}.nav{display:flex;flex-direction:column;gap:5px;overflow:auto;padding-right:3px}.nav button{border:0;background:transparent;color:#c7cde0;text-align:left;padding:10px 12px;border-radius:11px;display:flex;align-items:center;gap:11px;cursor:pointer}.nav button:hover{background:#141a2b}.nav button.active{background:linear-gradient(90deg,#5b33dc,#7b4cff);color:white;box-shadow:0 8px 24px rgba(123,76,255,.22)}.nav .badge{margin-left:auto;background:#ff4f65;color:#fff;border-radius:12px;padding:1px 6px;font-size:10px}.sidebar-foot{margin-top:auto;padding:14px 10px;border-top:1px solid #1d2438;display:flex;align-items:center;gap:9px}.sidebar-foot span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.server-dot{width:9px;height:9px;border-radius:50%}.online{background:var(--green);box-shadow:0 0 12px rgba(33,212,120,.7)}
.main{min-width:0;background:radial-gradient(circle at 70% -10%,rgba(123,76,255,.10),transparent 38%),var(--bg)}.topbar{height:70px;border-bottom:1px solid #1e2638;background:rgba(10,14,24,.92);backdrop-filter:blur(16px);display:grid;grid-template-columns:auto minmax(360px,1fr) auto;align-items:center;gap:16px;padding:0 20px;position:sticky;top:0;z-index:20}.top-left,.top-right{display:flex;align-items:center;gap:12px}.top-center{display:flex;justify-content:center}.pill{padding:8px 11px;border-radius:10px;font-size:13px}.pill.success{background:rgba(33,212,120,.10);color:#6cf0a8;border:1px solid rgba(33,212,120,.18)}.pill .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);margin-right:7px}.muted{color:var(--muted);font-size:13px}.search-wrap{width:min(620px,100%);height:38px;border:1px solid #2a3450;border-radius:10px;background:#111727;display:flex;align-items:center;padding:0 12px;color:#8d97b4}.search-wrap input{width:100%;border:0;outline:0;background:transparent;color:#e8edff;padding:0 8px}.icon-btn{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid #26314a;background:#111727;color:white;cursor:pointer}.icon-btn b{position:absolute;top:-5px;right:-4px;background:#ff4f65;border-radius:10px;padding:1px 5px;font-size:9px}.role-select{height:38px;background:#17132a;color:#d9cbff;border:1px solid #513a8f;border-radius:10px;padding:0 10px}.avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(145deg,#5235a9,#9a72ff);display:grid;place-items:center;font-weight:800}.content{padding:20px;max-width:1800px;margin:auto}.page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.page-title{font-size:24px;font-weight:800}.page-sub{font-size:13px;color:var(--muted);margin-top:5px}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid #2d3854;background:#182036;color:#eef1ff;border-radius:9px;padding:9px 12px;cursor:pointer;transition:.15s}.btn:hover{transform:translateY(-1px);border-color:#4e5d84}.btn.primary{background:linear-gradient(135deg,#6238e8,#814ef7);border-color:#7f57f5}.btn.success{background:#123924;border-color:#1d6a3f;color:#8df7b7}.btn.danger{background:#381722;border-color:#73253a;color:#ff95a4}.btn.warn{background:#3d2a12;border-color:#7c5320;color:#ffc57c}.btn.blue{background:#172d55;border-color:#2856a4;color:#9bc2ff}.grid{display:grid;gap:14px}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:14px}.card{background:linear-gradient(180deg,rgba(18,24,40,.98),rgba(14,20,34,.98));border:1px solid #242e46;border-radius:13px;box-shadow:var(--shadow)}.card.pad{padding:15px}.kpi{padding:14px;min-height:92px}.kpi-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.kpi-val{font-size:24px;font-weight:800;margin-top:8px}.kpi-foot{margin-top:8px;font-size:11px;color:#7feaa8}.two-col{grid-template-columns:1.15fr 1.85fr}.three-col{grid-template-columns:1fr 1.55fr .95fr}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid #242d45}.card-title{font-weight:760}.card-sub{color:var(--muted);font-size:12px;margin-top:3px}.status-row{display:flex;justify-content:space-between;gap:16px;margin:13px 0}.meter{height:8px;background:#252e46;border-radius:10px;overflow:hidden;margin-top:7px}.meter span{display:block;height:100%;background:linear-gradient(90deg,#6638e8,#9d75ff);border-radius:10px}.stat-mini{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin:12px 0}.tab{border:1px solid #2a3350;background:#141a2c;color:#aeb6d2;border-radius:8px;padding:7px 10px;font-size:12px;cursor:pointer}.tab.active{background:#5f37df;color:#fff;border-color:#7f5bf2}.player-card{display:grid;grid-template-columns:92px 1fr 170px;gap:14px;align-items:start}.portrait{width:92px;height:108px;border-radius:12px;background:linear-gradient(145deg,#26314a,#101521);display:grid;place-items:center;font-size:28px;font-weight:800;color:#bba4ff;border:1px solid #34415e}.kv{display:grid;grid-template-columns:120px 1fr;gap:7px;font-size:12px}.kv span:nth-child(odd){color:var(--muted)}.balance{background:#151d30;border:1px solid #2a3450;border-radius:10px;padding:10px;margin-bottom:8px}.balance strong{display:block;margin-top:4px}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.action-grid .btn{width:100%;padding:10px 8px}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;background:#2d3853}.time-item{position:relative;padding:7px 0 10px 15px}.time-item:before{content:"";position:absolute;left:-17px;top:11px;width:9px;height:9px;border-radius:50%;background:#7b4cff;box-shadow:0 0 0 3px #181f33}.time-item .t{font-size:11px;color:#8390b1}.time-item .l{font-size:13px;margin-top:2px}.time-item .d{font-size:11px;color:#7f89a6;margin-top:2px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{color:#8792b1;text-align:left;font-weight:600;padding:8px;border-bottom:1px solid #2b3450;white-space:nowrap}.table td{padding:9px 8px;border-bottom:1px solid #222b42;white-space:nowrap}.table tr:hover td{background:#151c2f}.table tr.selected td{background:rgba(123,76,255,.18)}.tag{display:inline-block;padding:3px 7px;border-radius:7px;font-size:10px;border:1px solid #303a57;background:#171e31}.tag.green{color:#7df1aa;border-color:#215f3b;background:#112b1d}.tag.red{color:#ff9baa;border-color:#6a2638;background:#2b1420}.tag.orange{color:#ffc47b;border-color:#694a22;background:#302315}.tag.blue{color:#9cc2ff;border-color:#2c5390;background:#14294e}.tag.purple{color:#ccb9ff;border-color:#6145aa;background:#231946}.radial-wrap{display:grid;place-items:center;padding:12px}.radial{width:220px;height:220px;border-radius:50%;border:1px solid #46516f;position:relative;background:radial-gradient(circle,#241b45 0 21%,#131a2b 22% 100%);box-shadow:inset 0 0 40px rgba(123,76,255,.08)}.radial-center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#6a3ee2;font-weight:900;font-size:24px}.radial-item{position:absolute;width:82px;text-align:center;font-size:11px;color:#d9dded;cursor:pointer}.radial-item:hover{color:#fff;text-shadow:0 0 12px #a989ff}.r-top{top:19px;left:69px}.r-right{right:4px;top:96px}.r-bottom{bottom:15px;left:69px}.r-left{left:4px;top:96px}.r-br{right:20px;bottom:44px}.resource-row{display:grid;grid-template-columns:1fr auto auto;gap:9px;align-items:center;padding:7px 0;border-bottom:1px solid #222a40;font-size:12px}.console{background:#080b12;border:1px solid #273148;border-radius:10px;padding:11px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;height:190px;overflow:auto;color:#93a0bd}.console .g{color:#4ee493}.console .p{color:#a686ff}.console-input{display:flex;gap:8px;margin-top:8px}.console-input input{flex:1;background:#0c111c;color:#fff;border:1px solid #2a3550;border-radius:8px;padding:9px}.mini-bars{height:90px;display:flex;align-items:end;gap:6px;padding:12px 4px}.mini-bars span{flex:1;background:linear-gradient(180deg,#8c62ff,#5d31d8);border-radius:4px 4px 0 0}.permission-matrix td,.permission-matrix th{text-align:center}.permission-matrix td:first-child,.permission-matrix th:first-child{text-align:left}.check{color:#42e584;font-weight:900}.cross{color:#ff596d;font-weight:900}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field label{display:block;color:#98a1bd;font-size:11px;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:#0f1524;color:#fff;border:1px solid #2a3550;border-radius:9px;padding:10px;outline:none}.field textarea{min-height:90px;resize:vertical}.list{display:flex;flex-direction:column;gap:8px}.list-item{padding:11px;border:1px solid #2a344f;border-radius:10px;background:#12192a;display:flex;justify-content:space-between;gap:12px;align-items:center}.list-item:hover{border-color:#46557a}.list-main strong{display:block}.list-main span{font-size:11px;color:var(--muted);margin-top:3px;display:block}.modal-back{position:fixed;inset:0;background:rgba(3,5,10,.72);display:grid;place-items:center;z-index:100;padding:20px}.modal{width:min(680px,96vw);max-height:90vh;overflow:auto;background:#111827;border:1px solid #34405f;border-radius:16px;box-shadow:0 24px 90px rgba(0,0,0,.55)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #29334d}.modal-body{padding:16px}.modal-foot{padding:14px 16px;border-top:1px solid #29334d;display:flex;justify-content:flex-end;gap:9px}.x{border:0;background:transparent;color:#9aa4c0;font-size:22px;cursor:pointer}.toast-root{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;z-index:150}.toast{background:#131a2b;border:1px solid #35415f;border-radius:11px;padding:11px 14px;box-shadow:var(--shadow);min-width:280px}.toast strong{display:block}.toast span{font-size:11px;color:var(--muted);display:block;margin-top:3px}.empty{padding:32px;text-align:center;color:#7e89a6}.subgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:13px;border:1px solid #29344f;border-radius:10px;background:#12192a}.metric span{display:block;color:#8f99b7;font-size:11px}.metric strong{display:block;font-size:20px;margin-top:5px}.switch{width:42px;height:23px;background:#30394f;border-radius:20px;padding:3px;cursor:pointer}.switch i{display:block;width:17px;height:17px;border-radius:50%;background:#8b95af;transition:.2s}.switch.on{background:#5c39ce}.switch.on i{transform:translateX(19px);background:#fff}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{background:#111827;color:#fff;border:1px solid #2b3652;border-radius:8px;padding:8px}.clickable{cursor:pointer}.danger-text{color:#ff7486}.good-text{color:#5ce998}.warn-text{color:#ffc06b}
@media(max-width:1200px){.app-shell{grid-template-columns:210px 1fr}.kpi-grid{grid-template-columns:repeat(3,1fr)}.three-col,.two-col{grid-template-columns:1fr}.topbar{grid-template-columns:1fr auto}.top-center{grid-column:1/-1;grid-row:2;padding-bottom:10px}.topbar{height:auto;padding-top:10px}.main{min-width:0}.subgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.kpi-grid{grid-template-columns:1fr 1fr}.player-card{grid-template-columns:75px 1fr}.player-card>div:last-child{grid-column:1/-1}.content{padding:12px}.top-left .muted{display:none}.topbar{padding:10px 12px}.top-right{gap:6px}.role-select{max-width:140px}.form-grid,.split,.subgrid{grid-template-columns:1fr}}

/* ===== Phase 4 — Inventaire natif / recherche / localisation FR ===== */
#modalRoot .modal:has(.inventory-window){width:min(1240px,96vw)}
.inventory-window{background:linear-gradient(180deg,rgba(14,20,34,.98),rgba(10,15,27,.98));border:1px solid #2a3550;border-radius:14px;padding:14px;min-width:0}
.inventory-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:20px;align-items:center;padding-bottom:12px;border-bottom:1px solid #252f48}
.inventory-title{font-size:18px;font-weight:850;letter-spacing:.01em}.inventory-weight>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:12px}.inventory-weight span{color:var(--muted)}
.inventory-stats{display:flex;gap:10px;flex-wrap:wrap;padding:10px 0 13px;color:#aab4d1;font-size:11px}.inventory-stats span{padding:5px 8px;border:1px solid #28324b;border-radius:8px;background:#12192a}
.inventory-layout{display:grid;grid-template-columns:minmax(560px,1fr) 310px;gap:14px;align-items:start}.inventory-grid{display:grid;grid-template-columns:repeat(6,minmax(78px,1fr));gap:8px;max-height:590px;overflow:auto;padding-right:4px}
.inventory-slot{position:relative;min-height:102px;border:1px solid #2b3651;border-radius:10px;background:linear-gradient(180deg,#151d30,#101624);color:#eef2ff;cursor:pointer;padding:19px 6px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;transition:.14s}
.inventory-slot:hover{border-color:#6550a9;transform:translateY(-1px);background:linear-gradient(180deg,#1a2340,#12192a)}.inventory-slot.empty{opacity:.68}.inventory-slot.quick{box-shadow:inset 0 0 0 1px rgba(131,87,246,.28)}.inventory-slot.selected{border-color:#956dff;box-shadow:0 0 0 2px rgba(123,76,255,.22),inset 0 0 28px rgba(123,76,255,.10)}
.inventory-slot .slot-no{position:absolute;left:7px;top:5px;color:#7985a5;font-size:10px}.inventory-slot .quick-mark{position:absolute;right:5px;top:5px;color:#aa91ff;font-size:8px;text-transform:uppercase;letter-spacing:.05em}
.inventory-item-img{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(0,0,0,.3))}.inventory-item-name{font-size:10px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.inventory-item-amount{position:absolute;right:6px;bottom:5px;padding:2px 5px;border-radius:7px;background:rgba(8,12,20,.82);font-size:10px;font-weight:800}
.rarity-dot{position:absolute;left:6px;bottom:7px;width:6px;height:6px;border-radius:50%;background:#8792ae}.rarity-dot.uncommon{background:#43d17d}.rarity-dot.rare{background:#5ea1ff}.rarity-dot.epic{background:#a06bff}.rarity-dot.legendary{background:#f0b94d}
.inventory-detail-panel{position:sticky;top:0;min-height:310px;border:1px solid #29334c;border-radius:11px;background:#111827;padding:13px}.inventory-detail-empty{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8792ae;gap:7px}.inventory-detail-empty strong{color:#dce4ff}.inventory-detail-hero{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid #26304a}.inventory-detail-hero img{width:72px;height:72px;object-fit:contain}.inventory-detail-hero h3{margin:0 0 5px;font-size:16px}.inventory-detail-kv{display:grid;grid-template-columns:1fr auto;gap:7px 10px;font-size:11px;margin-top:12px}.inventory-detail-kv span{color:#8792ae}.inventory-detail-kv b{text-align:right}.inventory-section-title{font-size:11px;color:#b9a9ef;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.inventory-meta{margin-top:14px;border-top:1px solid #26304a;padding-top:12px}.inventory-meta>div:not(.inventory-section-title){display:grid;grid-template-columns:1fr auto;gap:8px;padding:5px 0;font-size:10px}.inventory-meta span{color:#8792ae}.inventory-meta b{text-align:right;overflow-wrap:anywhere;max-width:170px}
.search-results{display:flex;flex-direction:column;gap:15px}.search-results section h3{font-size:13px;margin:0 0 8px;color:#c7b6ff}.search-result{display:flex;flex-direction:column;gap:3px;padding:10px 11px;border:1px solid #293450;border-radius:9px;background:#12192a;margin-top:6px}.search-result:hover{border-color:#594789}.search-result span{font-size:11px;color:#8f99b7}
@media(max-width:1100px){.inventory-layout{grid-template-columns:1fr}.inventory-detail-panel{position:static}.inventory-grid{grid-template-columns:repeat(5,minmax(72px,1fr))}.inventory-toolbar{grid-template-columns:1fr}}
@media(max-width:760px){.inventory-grid{grid-template-columns:repeat(4,minmax(64px,1fr))}.inventory-slot{min-height:90px}.inventory-item-img{width:44px;height:44px}}
/* Phase 4.1 — rapprochement visuel avec alteria-inventory en jeu */
.inventory-window{--inv-accent:#9c8cff;--inv-accent2:#c5baff;--inv-slot:rgba(255,255,255,.035);background:linear-gradient(145deg,rgba(23,24,32,.96),rgba(11,12,17,.95));border-color:rgba(255,255,255,.08);box-shadow:0 18px 52px rgba(0,0,0,.30)}
.inventory-title{letter-spacing:-.02em}.inventory-native-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}.inventory-search-box{height:36px;min-width:260px;max-width:430px;flex:1;display:flex;align-items:center;gap:8px;padding:0 11px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.17);color:#a8a8b8}.inventory-search-box:focus-within{border-color:rgba(255,255,255,.14);background:rgba(156,140,255,.06)}.inventory-search-box input{width:100%;border:0;outline:none;background:transparent;color:#f7f7fb;font-size:11px}.inventory-search-box input::placeholder{color:#6d6978}.inventory-native-tools .inventory-stats{padding:0;justify-content:flex-end}
.inventory-grid{grid-template-columns:repeat(6,minmax(74px,1fr));gap:8px}.inventory-slot{min-height:91px;aspect-ratio:1/1;border-radius:13px;border-color:rgba(255,255,255,.06);background:var(--inv-slot);padding:14px 8px 23px}.inventory-slot:hover{border-color:rgba(255,255,255,.14);background:rgba(156,140,255,.12)}.inventory-slot.filled{background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.025))}.inventory-slot.selected{border-color:rgba(156,140,255,.62);box-shadow:inset 0 0 0 1px rgba(156,140,255,.18),0 0 20px rgba(156,140,255,.04)}.inventory-slot.inventory-filtered{opacity:.18;filter:grayscale(.65);transform:none}.inventory-item-img{max-width:66px;max-height:58px;width:74%;height:74%;filter:drop-shadow(0 7px 9px rgba(0,0,0,.28))}.inventory-item-name{position:absolute;left:8px;right:8px;bottom:7px;margin:0;font-size:9px;color:#c9c5d2}.inventory-item-amount{top:6px;right:7px;bottom:auto;background:rgba(5,6,10,.75);border:1px solid rgba(255,255,255,.08);font-size:9px}.inventory-slot .slot-no{top:7px;left:8px;color:rgba(255,255,255,.22);font-size:9px}.inventory-slot .quick-mark{bottom:6px;right:6px;top:auto;color:var(--inv-accent2);font-size:8px}.inventory-detail-panel{border-radius:18px;border-color:rgba(255,255,255,.07);background:linear-gradient(145deg,rgba(23,24,32,.93),rgba(11,12,17,.90));padding:18px}.inventory-detail-hero{grid-template-columns:100px 1fr}.inventory-detail-hero img{width:96px;height:96px}.inventory-detail-hero h3{font-size:20px}.inventory-section-title{color:var(--inv-accent2)}
.player-tab-panel{margin-top:12px;padding-top:12px;border-top:1px solid #252f48}.player-tab-panel>.table-wrap{max-height:420px}.player-tab-subtitle{margin:18px 0 8px}.player-tab-panel .inventory-window{margin-top:2px}.player-tab-panel .inventory-grid{max-height:480px}.player-tab-panel .inventory-layout{grid-template-columns:minmax(480px,1fr) 285px}
@media(max-width:1100px){.inventory-native-tools{align-items:stretch;flex-direction:column}.inventory-native-tools .inventory-stats{justify-content:flex-start}.player-tab-panel .inventory-layout{grid-template-columns:1fr}}
/* Phase 4.2 — signalements réels */
.report-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.report-card{border:1px solid #29344f;border-radius:12px;background:#12192a;padding:12px}.report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.report-card-head strong{display:block;font-size:13px}.report-card-head span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.report-message{margin:11px 0;padding:10px;border-radius:9px;background:#0e1422;border:1px solid #252f47;color:#dce3f7;font-size:12px;line-height:1.5;white-space:pre-wrap}.report-meta{display:flex;gap:12px;flex-wrap:wrap;color:#8f99b7;font-size:10px;margin-bottom:10px}.report-meta b{color:#dbe2f5;font-weight:650}

/* Phase 5 — administration sécurisée */
.section-gap{margin-top:14px}
.security-banner{border:1px solid rgba(151,104,255,.28);background:rgba(110,72,190,.10);border-radius:14px;padding:12px 14px;color:var(--text);line-height:1.45}
.permission-layout{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(520px,1.35fr);gap:14px;align-items:start}
.permission-edit-grid,.inventory-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.inventory-admin-zone{border-top:1px solid var(--line);padding:16px;margin-top:12px}
.inventory-admin-note{display:flex;gap:8px;flex-direction:column;border-top:1px solid var(--line);padding:14px 16px;color:var(--muted)}
.inventory-admin-note b{color:var(--text)}
.inventory-admin-card{border:1px solid var(--line);background:rgba(255,255,255,.018);border-radius:15px;padding:14px;display:flex;flex-direction:column;gap:10px}
.inventory-selected-line{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.015)}
.inventory-selected-line img{width:42px;height:42px;object-fit:contain;border-radius:9px;background:rgba(0,0,0,.14)}
.inventory-selected-line div{display:flex;flex-direction:column;gap:2px;min-width:0}
.inventory-selected-line span{font-size:12px;color:var(--muted)}
.compact-field{margin:12px 0}
.empty-state.compact{padding:16px 0}
@media(max-width:1180px){.permission-layout,.permission-edit-grid,.inventory-admin-grid{grid-template-columns:1fr}}

/* Phase 6 — supervisor, serveur, console et sauvegardes */
.server-log-box{margin:14px 0 0;min-height:420px;max-height:620px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#070a10;border:1px solid #222c43;border-radius:12px;padding:14px;color:#b9c6df;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.server-log-box::selection{background:rgba(123,76,255,.32)}
.metric strong{overflow-wrap:anywhere}
.security-banner b{color:#ece7ff}
.list-item .tag{flex:0 0 auto}
a.btn{text-decoration:none;display:inline-block}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.three-col,.two-col{grid-template-columns:1fr}.player-card{grid-template-columns:72px 1fr}.player-card>div:last-child{grid-column:1/-1}.topbar{grid-template-columns:1fr;min-height:70px;height:auto;padding:10px}.top-center{order:3}.top-left,.top-right{flex-wrap:wrap}.content{padding:12px}.app-shell{grid-template-columns:210px 1fr}}
