/* Личный кабинет игрока */
.account-page{max-width:1240px;margin:0 auto;padding:clamp(34px,4vw,56px) max(20px,4vw) clamp(56px,6vw,90px)}

/* шапка профиля */
.profile-head{
  position:relative;overflow:hidden;
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  padding:clamp(22px,3vw,32px);
  background:linear-gradient(150deg,rgba(41,32,66,.9),rgba(14,11,22,.92));
  border:1px solid var(--line);
}
.profile-head:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 55% 120% at 88% 0,rgba(139,92,246,.3),transparent 62%);
}
.profile-head>*{position:relative}
.profile-avatar{
  width:78px;height:78px;flex:none;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--violet-2),#6d36d7);
  border:1px solid rgba(255,255,255,.22);box-shadow:0 0 40px -8px rgba(139,92,246,.75);
  font:800 30px Manrope,sans-serif;
}
.profile-id{flex:1 1 240px;min-width:0}
.profile-id h1{margin:0;font:800 clamp(24px,2.6vw,34px)/1.1 Manrope,sans-serif;letter-spacing:-.03em}
.profile-id p{margin:7px 0 0;color:var(--muted);font-size:13px}
.profile-id .login{color:#cbb8ff}
.profile-balance{text-align:right;flex:none}
.profile-balance small{display:block;color:var(--muted);font-size:11px;letter-spacing:.12em;margin-bottom:6px}
.profile-balance b{font:800 clamp(26px,3vw,38px)/1 Manrope,sans-serif;color:var(--lime);letter-spacing:-.03em}

/* плитки сводки */
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.summary-tile{padding:18px;background:var(--surface);border:1px solid var(--line)}
.summary-tile small{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}
.summary-tile b{font:800 22px Manrope,sans-serif;letter-spacing:-.03em}
.summary-tile b.up{color:var(--lime)}
.summary-tile b.down{color:#ff8fa1}

/* секции */
.panel{margin-top:14px;background:var(--surface);border:1px solid var(--line)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line)}
.panel-head h2{margin:0;font:700 16px Manrope,sans-serif;letter-spacing:-.01em}
.panel-head p{margin:5px 0 0;color:var(--muted);font-size:12px}
.panel-body{padding:22px}
.panel-note{margin:0;color:var(--muted);font-size:12px;line-height:1.6}

.field-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.field{display:grid;gap:7px;flex:1 1 220px;min-width:0}
.field span{color:#b7b0c1;font-size:11px}
.field input,.field select{
  height:46px;width:100%;padding:0 13px;
  background:#0a0810;border:1px solid var(--line);color:#fff;outline:0;
}
.field input:focus,.field select:focus{border-color:var(--violet)}
.field input:disabled{color:#7d768c;background:#0d0b14}
.field-hint{color:var(--muted);font-size:11px;margin:8px 0 0}

/* история */
.history-list{display:grid}
.history-row{
  display:grid;grid-template-columns:auto 1fr auto auto;gap:16px;align-items:center;
  padding:14px 22px;border-bottom:1px solid var(--line);
}
.history-row:last-child{border-bottom:0}
.history-icon{
  width:36px;height:36px;display:grid;place-items:center;flex:none;
  background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:14px;
}
.history-row.in .history-icon{background:rgba(182,245,66,.1);border-color:rgba(182,245,66,.28);color:var(--lime)}
.history-row.out .history-icon{background:rgba(255,99,124,.09);border-color:rgba(255,99,124,.26);color:#ff8fa1}
.history-main{min-width:0}
.history-main b{display:block;font-size:13px;font-weight:600}
.history-main small{color:var(--muted);font-size:11px}
.history-amount{font:700 14px Manrope,sans-serif;white-space:nowrap}
.history-row.in .history-amount{color:var(--lime)}
.history-row.out .history-amount{color:#ff8fa1}
.history-balance{color:var(--muted);font-size:11px;white-space:nowrap;text-align:right}
.history-more{display:block;width:100%;padding:14px;background:none;border:0;border-top:1px solid var(--line);color:var(--violet-2);font-size:13px}
.history-more:hover{background:rgba(255,255,255,.03);color:#fff}

.state-block{padding:44px 22px;text-align:center;color:var(--muted)}
.state-block div{font-size:38px;color:var(--violet-2);margin-bottom:10px}
.state-block h3{margin:0 0 7px;color:#fff;font:700 18px Manrope,sans-serif}
.state-block p{margin:0 auto 18px;max-width:420px;font-size:13px;line-height:1.6}

.limit-warning{
  margin:0 0 18px;padding:12px 14px;
  background:rgba(255,99,124,.08);border-left:2px solid var(--danger);color:#ffb3bf;font-size:12px;line-height:1.6;
}
.limit-today{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.limit-today b{color:#fff;margin-left:6px}

.form-message{margin:14px 0 0;font-size:12px}
.form-message.ok{color:var(--lime)}
.form-message.bad{color:#ff8fa1}

/* Уровень лояльности. Три карточки уровней показываются всегда, а не только текущая: полоса
   прогресса без видимой цели не мотивирует, она просто заполняется. */
.loyalty .panel-head{align-items:center}
.loyalty-badge{flex:none;padding:9px 14px;background:rgba(182,245,66,.09);border:1px solid rgba(182,245,66,.24);color:var(--lime);font-weight:700;font-size:13px;white-space:nowrap}
.loyalty-bar{height:8px;background:rgba(255,255,255,.06);border:1px solid var(--line);overflow:hidden}
.loyalty-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--lime));transition:width .6s ease}
.loyalty-note{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.loyalty-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.loyalty-level{padding:16px;background:var(--surface);border:1px solid var(--line)}
.loyalty-level.current{border-color:rgba(182,245,66,.35);background:rgba(182,245,66,.05)}
.loyalty-level b{display:block;font:700 15px Manrope,sans-serif}
.loyalty-level span{display:block;margin-top:6px;color:var(--lime);font-size:13px;font-weight:600}
.loyalty-level small{display:block;margin-top:6px;color:var(--muted);font-size:11px}

@media(max-width:920px){
  .summary-grid{grid-template-columns:1fr 1fr}
  .profile-balance{text-align:left;flex:1 1 100%}
}
@media(max-width:650px){
  .account-page{padding:26px 14px 48px}
  .profile-head{gap:16px;padding:18px}
  .profile-avatar{width:60px;height:60px;font-size:24px}
  .summary-grid{grid-template-columns:1fr 1fr;gap:8px}
  /* Три уровня в ряд на телефоне сжимаются до нечитаемого — ставим в столбец. */
  .loyalty-levels{grid-template-columns:1fr;gap:8px}
  .loyalty .panel-head{flex-wrap:wrap;gap:12px}
  .summary-tile{padding:14px}
  .summary-tile b{font-size:18px}
  .panel-body{padding:18px}
  .history-row{grid-template-columns:auto 1fr;gap:10px 12px;padding:14px 18px}
  .history-amount{grid-column:2;justify-self:start}
  .history-balance{grid-column:2;justify-self:start;text-align:left}
}
