/* Pages d'identité, d'administration et de sélection des matchs. */
.identity-body { min-height: 100vh; background: radial-gradient(ellipse at 50% -20%, #252a35 0, var(--bg) 54%); }
.identity-shell { width: min(100% - 28px, 1120px); margin: 0 auto; padding: 22px 0 44px; }
.identity-header { display:flex; align-items:center; gap:14px; margin:0 0 28px; }
.identity-header .brand { margin-right:auto; }
.brand__sub--signature { color:#969cab; font-size:.74rem; font-weight:700; letter-spacing:.02em; text-transform:none; }
.identity-header__right { display:flex; align-items:center; gap:8px; }
.identity-card { background:linear-gradient(180deg,#171920,#111218); border:1px solid #303440; border-radius:20px; box-shadow:0 20px 70px #0008; padding:clamp(20px,4vw,38px); }
.identity-card--narrow { width:min(100%,500px); margin:6vh auto 0; }
.identity-eyebrow { color:var(--orange-2); font-size:.76rem; font-weight:900; text-transform:uppercase; letter-spacing:.16em; margin-bottom:8px; }
.identity-title { font-size:clamp(1.6rem,4vw,2.45rem); line-height:1.05; margin:0 0 10px; }
.identity-subtitle { color:#a8adba; max-width:70ch; line-height:1.55; margin:0 0 22px; }
.identity-notice { border:1px solid #48404a; background:#211a19; color:#ffe1cb; padding:12px 14px; border-radius:12px; margin:12px 0; }
.identity-notice[hidden] { display:none; }
.identity-notice--success { border-color:#315c48; background:#13271d; color:#bff2cf; }
.identity-notice--urgent { border-color:#71363a; background:#2a171a; color:#ffb4ae; }
.identity-alert { color:#ffb4ae; min-height:1.5em; margin:10px 0 0; font-weight:700; }
.identity-form { display:grid; gap:14px; }
.identity-field { display:grid; gap:6px; color:#d7d9e0; font-weight:800; font-size:.86rem; }
.identity-field input,.identity-field select { width:100%; min-height:48px; border:1px solid #414552; border-radius:10px; background:#0b0d12; color:#f4f6f9; padding:10px 12px; font:inherit; outline:none; }
.identity-field input:focus,.identity-field select:focus { border-color:var(--orange); box-shadow:0 0 0 3px #ff7a1833; }
.identity-form .btn { width:100%; }
.identity-foot { color:#858c9a; font-size:.82rem; line-height:1.5; margin-top:18px; }
.identity-foot code { background:#252730; color:#fff; border-radius:5px; padding:2px 5px; }
.identity-links { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:18px; }
.identity-links a { color:#ff9a4b; font-weight:800; }
.dashboard-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:12px 0 18px; }
.dashboard-hero h1 { font-size:clamp(1.7rem,4vw,2.5rem); margin:0 0 6px; }
.dashboard-actions { display:flex; gap:8px; flex-wrap:wrap; }
.match-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:14px; }
.match-card { min-width:0; background:linear-gradient(165deg,#1b1e26,#111319); border:1px solid #323642; border-radius:16px; padding:16px; box-shadow:0 9px 25px #0004; display:flex; flex-direction:column; gap:12px; }
.match-card:hover { border-color:#595e6d; }
.match-card__top { display:flex; align-items:flex-start; gap:10px; }
.match-card__title { font-size:1.03rem; margin:0; overflow-wrap:anywhere; }
.match-card__meta { color:#969cab; font-size:.78rem; margin-top:4px; }
.match-score { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; background:#0a0b0f; border:1px solid #2b2f39; border-radius:12px; padding:13px 12px; text-align:center; }
.match-score__team { font-size:.8rem; font-weight:900; overflow-wrap:anywhere; }
.match-score__numbers { font:900 1.5rem/1 var(--led); white-space:nowrap; }
.match-card__status { display:flex; justify-content:space-between; align-items:center; gap:8px; color:#aeb3bf; font-size:.8rem; }
.match-card__buttons { display:flex; flex-wrap:wrap; gap:7px; margin-top:auto; }
.match-card__buttons .btn { flex:1 1 auto; }
.empty-state { grid-column:1/-1; border:1px dashed #484d59; border-radius:16px; padding:32px 18px; text-align:center; color:#a6acb8; }
.table-scroll { width:100%; overflow:auto; border:1px solid var(--line); border-radius:12px; }
.account-table { width:100%; min-width:740px; border-collapse:collapse; }
.account-table th,.account-table td { text-align:left; padding:12px 14px; border-bottom:1px solid #2a2d38; vertical-align:middle; }
.account-table th { color:#aab0be; text-transform:uppercase; font-size:.72rem; letter-spacing:.12em; background:#111319; }
.account-table tr:last-child td { border-bottom:0; }
.account-actions { display:flex; gap:6px; flex-wrap:wrap; }
.chip--inactive { background:#311d20; color:#ff9d9a; border-color:#643135; }
.status-cell { color:#9ba1ae; font-size:.82rem; }
.identity-dialog { position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:16px; background:#000b; backdrop-filter:blur(4px); }
.identity-dialog[hidden] { display:none !important; }
.identity-dialog__inner { width:min(94vw,620px); max-height:90vh; overflow:auto; padding:20px; color:var(--text); background:#13151b; border:1px solid #424653; border-radius:18px; box-shadow:0 25px 90px #000b; }
.identity-dialog__inner:focus { outline:none; }
body.has-identity-dialog { overflow:hidden; }
.identity-dialog__head { display:flex; align-items:flex-start; gap:14px; }
.identity-dialog__head h2 { margin:0; color:#fff; letter-spacing:.02em; text-transform:none; }
.identity-dialog__head .spacer { flex:1; }
.qr-frame { display:grid; place-items:center; min-height:230px; margin:16px 0; padding:16px; border-radius:14px; background:#fff; }
.qr-frame svg { width:min(100%,270px); height:auto; display:block; }
.share-url { display:block; overflow-wrap:anywhere; padding:10px 12px; border-radius:9px; background:#090a0e; color:#f4f6f9; font: .8rem/1.5 ui-monospace,monospace; }
.modal-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.modal-actions .btn { flex:1 1 auto; }
.small-muted { color:#9399a7; font-size:.8rem; line-height:1.5; }
.storage-overview { margin:0 0 16px; }
.storage-overview__head { align-items:flex-start; gap:18px; }
.storage-overview__metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:18px 0 14px; }
.storage-stat { display:grid; gap:5px; min-width:0; padding:13px 15px; border:1px solid #303540; border-radius:12px; background:#0d0f14; }
.storage-stat span { color:#9ba2b0; font-size:.76rem; font-weight:750; }
.storage-stat strong { color:#f3f5f8; font-size:clamp(1rem,2vw,1.35rem); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.storage-meter { display:block; width:100%; height:10px; overflow:hidden; border:0; border-radius:999px; background:#292d37; accent-color:var(--orange); }
.storage-meter::-webkit-progress-bar { border-radius:999px; background:#292d37; }
.storage-meter::-webkit-progress-value { border-radius:999px; background:linear-gradient(90deg,#ff9b44,#ff7417); }
.storage-meter::-moz-progress-bar { border-radius:999px; background:linear-gradient(90deg,#ff9b44,#ff7417); }
.storage-meter.is-over { accent-color:#ef5b5b; }
.storage-meter.is-over::-webkit-progress-value,.storage-meter.is-over::-moz-progress-bar { background:#ef5b5b; }
.storage-cell { display:grid; gap:5px; min-width:145px; }
.storage-cell__top { color:#f2f4f8; font-size:.78rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.storage-cell__top span,.storage-cell small { color:#9ba2b0; font-size:.72rem; }
.storage-meter--small { height:7px; }
.admin-body .identity-shell { width:min(100% - 28px,1420px); }
.admin-body #createUserForm { max-width:1040px; }
.account-table { min-width:1260px; }
.account-searchbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:10px; margin:0 0 14px; }
.account-search { display:grid; flex:1 1 320px; min-width:0; gap:6px; color:#d7d9e0; font-size:.86rem; font-weight:800; }
.account-search input { width:100%; min-height:48px; border:1px solid #414552; border-radius:10px; background:#0b0d12; color:#f4f6f9; padding:10px 12px; font:inherit; outline:none; }
.account-search input:focus { border-color:var(--orange); box-shadow:0 0 0 3px #ff7a1833; }
.account-searchbar__clear { min-height:48px; }
.account-searchbar__clear[hidden] { display:none; }
.account-searchbar__results { display:flex; align-items:center; gap:6px; min-height:48px; margin-left:auto; color:#9399a7; font-size:.8rem; white-space:nowrap; }
.account-searchbar__results strong { color:#f3f5f8; font-variant-numeric:tabular-nums; }
.match-card__meta--details { display:grid; gap:4px; }
.match-card__date { color:#d7dbe4; font-size:.83rem; }
.match-card__date b { color:#aeb3bf; font-weight:750; }
@media(max-width:720px) {
  #createUserForm { grid-template-columns:repeat(2,minmax(130px,1fr)) !important; }
  .identity-shell { width:min(100% - 20px,1120px); padding-top:12px; }
  .identity-header { margin-bottom:16px; }
  .dashboard-hero { align-items:stretch; flex-direction:column; }
  .dashboard-actions .btn { flex:1; }
  .storage-overview__head { align-items:stretch; flex-direction:column; }
  .storage-overview__head .chip { align-self:flex-start; }
  .account-table th,.account-table td { padding:9px; }
}
@media(max-width:480px) {
  #createUserForm { grid-template-columns:1fr !important; }
  .identity-header { align-items:flex-start; flex-wrap:wrap; }
  .identity-header__right { margin-left:auto; }
}
@media(max-width:1360px) {
  .table-scroll { overflow:visible; border:0; }
  .account-table,.account-table tbody { display:block; width:100%; min-width:0; }
  .account-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  #usersBody { display:grid; gap:12px; }
  #usersBody tr.account-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; padding:14px; border:1px solid #303440; border-radius:14px; background:linear-gradient(180deg,#171920,#111218); box-shadow:0 8px 24px #0004; }
  #usersBody tr.account-row td { display:grid; align-content:start; gap:4px; min-width:0; padding:0; border:0; overflow-wrap:anywhere; vertical-align:top; }
  #usersBody tr.account-row td::before { content:attr(data-label); display:block; color:#9399a7; font-size:.66rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
  #usersBody tr.account-row td[data-column="account"],#usersBody tr.account-row td[data-column="club"],#usersBody tr.account-row td[data-column="plan"],#usersBody tr.account-row td[data-column="storage"],#usersBody tr.account-row td[data-column="actions"] { grid-column:1/-1; }
  #usersBody tr.account-row td[data-column="account"] { padding-bottom:8px; border-bottom:1px solid #2a2d38; }
  #usersBody tr.account-row td[data-column="actions"] .account-actions { gap:8px; }
  #usersBody tr.account-row td[data-column="actions"] .btn { flex:1 1 110px; }
  #usersBody tr.account-empty { display:block; padding:12px; border:1px solid #303440; border-radius:12px; background:#111319; }
  #usersBody tr.account-empty td { display:block; padding:8px; border:0; text-align:center; }
  #usersBody tr.account-empty td::before { content:none; }
  .storage-cell { min-width:0; }
  .account-searchbar__results { margin-left:0; }
}
@media(max-width:520px) {
  #usersBody tr.account-row { grid-template-columns:1fr; }
  #usersBody tr.account-row td[data-column="account"],#usersBody tr.account-row td[data-column="club"],#usersBody tr.account-row td[data-column="plan"],#usersBody tr.account-row td[data-column="storage"],#usersBody tr.account-row td[data-column="actions"] { grid-column:1; }
}
