.admin-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.admin-login-card{width:100%;max-width:380px;background:var(--bg2);border:1px solid var(--line);padding:40px 34px;border-radius:4px;text-align:center;}
.admin-login-card .brand{justify-content:center;display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.admin-login-card h1{font-size:22px;margin-bottom:22px;color:var(--text);}
.admin-error{color:var(--alert-bright);font-size:14px;margin-bottom:16px;font-family:'Barlow Condensed',sans-serif;}
.admin-form{display:flex;flex-direction:column;gap:16px;margin-bottom:22px;}
.admin-form label{display:flex;flex-direction:column;gap:6px;text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);}
.admin-form input{background:var(--bg);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:2px;font-family:'Barlow Condensed',sans-serif;font-size:16px;}
.admin-form input:focus{outline:none;border-color:var(--alert);}
.admin-form .btn{margin-top:6px;width:100%;justify-content:center;}
.admin-back{color:var(--muted);font-size:13px;}
.admin-back:hover{color:var(--amber);}

/* ---- admin layout: left sidebar + main content ---- */
.admin-shell{display:flex;min-height:100vh;align-items:stretch;}
.admin-sidebar{
  width:230px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--line);
  padding:30px 22px;display:flex;flex-direction:column;gap:36px;position:sticky;top:0;height:100vh;
}
.admin-sidebar .brand{font-size:21px;}
.admin-sidenav{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:4px;flex:1;}
.admin-sidenav a{
  color:var(--muted);font-size:14px;text-transform:uppercase;letter-spacing:1px;font-weight:600;
  padding:12px 14px;border-radius:2px;border-left:2px solid transparent;transition:color .2s, background .2s, border-color .2s;
}
.admin-sidenav a:hover{color:var(--text);background:rgba(255,255,255,.03);}
.admin-sidenav a.active{color:var(--amber);border-left-color:var(--amber);background:rgba(255,176,32,.07);}
.admin-sidebar .logout-form .btn{width:100%;justify-content:center;}
.admin-main{flex:1;min-width:0;padding:50px 44px;}
.admin-card{background:var(--bg2);border:1px solid var(--line);padding:28px;border-radius:4px;margin-bottom:20px;}
.admin-card h2{font-size:18px;margin-bottom:10px;color:var(--text);}
.admin-card p{color:var(--muted);font-size:15px;line-height:1.6;}
.logout-form{display:inline;}

@media(max-width:780px){
  .admin-shell{flex-direction:column;}
  .admin-sidebar{width:100%;height:auto;position:relative;flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:16px 20px;}
  .admin-sidenav{flex-direction:row;flex-wrap:wrap;gap:6px 10px;flex:1 1 100%;}
  .admin-sidenav a{padding:8px 10px;border-left:none;border-bottom:2px solid transparent;}
  .admin-sidenav a.active{border-left:none;border-bottom-color:var(--amber);}
  .admin-main{padding:30px 20px;max-width:100%;}
}

/* ---- boutique admin: paypal settings + product management ---- */
.admin-status-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:4px 10px;border-radius:20px;margin-left:10px;}
.admin-status-badge.on{color:var(--amber);border:1px solid var(--amber);}
.admin-status-badge.off{color:var(--muted);border:1px solid var(--line);}
.admin-status-badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;}

.admin-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;min-width:0;margin-bottom:20px;}
.admin-grid-2 .admin-card{margin-bottom:0;min-width:0;}
@media(max-width:900px){
  .admin-grid-2{grid-template-columns:1fr;}
}

.admin-form.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;min-width:0;}
.admin-form.grid2 label{min-width:0;}
.admin-form.grid2 .full{grid-column:1 / -1;}
.admin-form select{background:var(--bg);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:2px;font-family:'Barlow Condensed',sans-serif;font-size:16px;}
.admin-form input[type="color"]{background:var(--bg);border:1px solid var(--line);padding:4px;border-radius:2px;height:42px;width:100%;cursor:pointer;}
.color-swatch{display:inline-block;width:18px;height:18px;border-radius:3px;border:1px solid var(--line);vertical-align:middle;}
.admin-form textarea{background:var(--bg);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:2px;font-family:'Barlow Condensed',sans-serif;font-size:15px;resize:vertical;min-height:70px;}
.admin-hint{color:var(--muted);font-size:13px;margin-top:-6px;margin-bottom:16px;}

/* ---- category-picker select (e.g. règlement "catégorie à modifier") ---- */
.category-select-label{display:block;margin-top:22px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px;}
.category-select{
  display:block;width:100%;max-width:420px;margin-top:8px;
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23ffb020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center;
  border:1px solid var(--line);color:var(--text);padding:13px 42px 13px 16px;border-radius:2px;
  font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:600;cursor:pointer;
  transition:border-color .2s, box-shadow .2s;
}
.category-select:hover{border-color:var(--amber);}
.category-select:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(255,176,32,.15);}
.category-select option{background:var(--bg2);color:var(--text);}

.dropzone{background:var(--bg);border:2px dashed var(--line);border-radius:2px;padding:24px 16px;text-align:center;cursor:pointer;transition:border-color .2s, background .2s;}
.dropzone:hover{border-color:var(--muted);}
.dropzone.dragover{border-color:var(--amber);background:rgba(255,176,32,.06);}
.dropzone-text{color:var(--muted);font-size:14px;text-transform:none;letter-spacing:normal;margin:0;}

.admin-search{background:var(--bg);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:2px;font-family:'Barlow Condensed',sans-serif;font-size:16px;width:100%;}
.admin-search:focus{outline:none;border-color:var(--alert);}
#adminFilterType{background:var(--bg);border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:2px;font-family:'Barlow Condensed',sans-serif;font-size:15px;}
.admin-table td.mono{font-family:'Share Tech Mono',monospace;font-size:12px;color:var(--muted);}

.admin-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px;}
.admin-pagination .link-btn:disabled{color:var(--line);cursor:default;text-decoration:none;}
.admin-pagination-status{color:var(--muted);font-size:13px;font-family:'Share Tech Mono',monospace;}

.admin-table{width:100%;border-collapse:collapse;margin-top:10px;}
.admin-table th,.admin-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:14px;}
.admin-table th{text-transform:uppercase;font-size:11px;letter-spacing:1px;color:var(--muted);}
.admin-table td.price{color:var(--amber);font-family:'Share Tech Mono',monospace;}
.admin-table .row-actions{display:flex;gap:10px;}
.admin-table .row-actions form{display:inline;}
.admin-table .link-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:13px;font-family:'Barlow Condensed',sans-serif;text-decoration:underline;padding:0;}
.admin-table .link-btn:hover{color:var(--amber);}
.admin-table .link-btn.danger:hover{color:var(--alert-bright);}
.admin-table tr.clickable{cursor:pointer;}
.admin-table tr.clickable:hover{background:rgba(255,255,255,.03);}

/* ---- collapsible per-category product groups (boutique admin) ---- */
.admin-details{background:var(--bg);border:1px solid var(--line);border-radius:4px;margin-bottom:14px;padding:0 18px;}
.admin-details summary{
  list-style:none;cursor:pointer;padding:16px 4px;display:flex;align-items:center;gap:10px;
  font-family:'Anton',sans-serif;letter-spacing:.5px;text-transform:uppercase;font-size:15px;color:var(--text);
}
.admin-details summary::-webkit-details-marker{display:none;}
.admin-details summary:hover{color:var(--amber);}
.admin-details summary::after{content:'▾';margin-left:auto;color:var(--muted);transition:transform .2s;}
.admin-details[open] summary::after{transform:rotate(180deg);color:var(--amber);}
.admin-details-count{color:var(--muted);font-size:12px;font-family:'Share Tech Mono',monospace;text-transform:none;letter-spacing:normal;}
.admin-details .admin-table{margin-bottom:16px;}

/* ---- stat tiles ---- */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-top:16px;}
.stat-tile{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:16px 18px;}
.stat-tile .stat-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:1px;}
.stat-tile .stat-value{color:var(--amber);font-family:'Share Tech Mono',monospace;font-size:24px;margin-top:6px;}

/* ---- monthly tracking bars ---- */
.month-bar-track{background:var(--bg);border-radius:2px;height:8px;width:100%;overflow:hidden;}
.month-bar-fill{background:var(--amber);height:100%;border-radius:2px;}
.admin-table td.month-bar-cell{min-width:140px;}

/* ---- admin modal (player profile) ---- */
.admin-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:24px;}
.admin-modal.open{display:flex;}
.admin-modal-backdrop{position:absolute;inset:0;background:rgba(5,3,2,.82);}
.admin-modal-panel{position:relative;z-index:1;background:var(--bg2);border:1px solid var(--line);border-radius:4px;padding:28px;width:100%;max-width:620px;max-height:82vh;overflow-y:auto;}
.admin-modal-panel h3{font-size:20px;color:var(--text);margin-bottom:4px;}
.admin-modal-panel .modal-uuid{color:var(--muted);font-family:'Share Tech Mono',monospace;font-size:12px;margin-bottom:18px;}
.admin-modal-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--muted);font-size:22px;cursor:pointer;line-height:1;}
.admin-modal-close:hover{color:var(--amber);}
