/* PHNX590 Boutique Studio · DaisyUI cards + full product modal */
body.admin-panel-route [data-admin-panel="shop"] .admin-shop-list,
body.admin-panel-route [data-admin-panel="shop"] .admin-web-frame-list,
body.admin-panel-route .admin-level-boosters-panel .admin-shop-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
  align-items: stretch;
  gap: 14px !important;
}

.admin-product-tile {
  --product-accent: var(--rarity, #25d8f4);
  background: radial-gradient(circle at 84% 3%, color-mix(in srgb, var(--product-accent) 14%, transparent), transparent 38%), linear-gradient(155deg, #0c1929, #07111e 72%);
  border: 1px solid color-mix(in srgb, var(--product-accent) 38%, #20364f);
  box-shadow: inset 0 1px rgba(255,255,255,.035), 0 14px 30px rgba(0,0,0,.22);
  isolation: isolate;
  min-height: 330px;
  overflow: hidden;
}
.admin-product-tile.is-disabled { filter: saturate(.58); opacity: .72; }
.admin-product-tile > .shop-rarity-effects { inset: 0; position: absolute; z-index: -1; }
.admin-product-tile-media {
  align-items: center;
  background: radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--product-accent) 18%, transparent), transparent 56%), #071220;
  border-bottom: 1px solid color-mix(in srgb, var(--product-accent) 24%, #1d344d);
  display: flex;
  height: 145px;
  justify-content: center;
  overflow: hidden;
  padding: 12px;
  position: relative;
}
.admin-product-tile-media > img { filter: drop-shadow(0 8px 15px rgba(0,0,0,.55)); height: 118px; object-fit: contain; width: 88%; }
.admin-product-tile-media .admin-web-frame-preview { height: 126px !important; margin: 0 !important; width: 126px !important; }
.admin-product-tile-media .admin-web-frame-preview img { height: 100% !important; object-fit: contain; width: 100% !important; }
.admin-product-tile-media .admin-notification-frame-preview { min-width: 205px; transform: scale(.78); transform-origin: center; }
.admin-product-tile-media .admin-bubble-schema-visual { height: 130px; min-height: 130px; overflow: hidden; width: 100%; }
.admin-product-tile-media .admin-bubble-schema-visual .bubble-schema-preview { transform: scale(.58); }
.admin-product-tile-media .admin-weapon-visual { width: 100%; }
.admin-product-tile-media .weapon-projectile-preview { transform: scale(.82); }
.admin-product-tile-media .admin-shop-card-mark { margin: 0; min-height: 88px; min-width: 106px; transform: scale(.9); }

.admin-product-tile-content { display: grid; gap: 5px; padding: 14px 14px 9px; }
.admin-product-kind { --phnx-badge-color: color-mix(in srgb, var(--product-accent) 28%, #102338); color: #8eeaff; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.admin-product-tile-content > strong { color: #f5f9ff; font-size: 14px; line-height: 1.3; }
.admin-product-rarity { color: var(--product-accent); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.admin-product-price { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; min-height: 24px; }
.admin-product-price b { align-items: center; color: #f5f8fd; display: inline-flex; font-size: 12px; gap: 5px; }
.admin-product-price b .premium-token-icon-inline { height: 17px !important; width: 17px !important; }
.admin-product-price del { color: #7f8fa5; font-size: 10px; }
.admin-product-price em { background: #e9263d; border-radius: 5px; color: #fff; font-size: 9px; font-style: normal; font-weight: 950; padding: 3px 5px; }
.admin-product-stats { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 2px; }
.admin-product-stats span { background: transparent !important; border: 0 !important; font-size: 10px; font-weight: 850; padding: 0 !important; }
.admin-product-effect { color: #ff5163; font-size: 10px; font-weight: 950; margin-top: 1px; text-transform: uppercase; }
.admin-product-tile-actions { display: grid; gap: 8px; grid-template-columns: 1fr 1fr; margin-top: auto; padding: 9px 14px 14px; }
.admin-product-tile-actions .phnx-btn { border-radius: 8px; min-width: 0; }
.admin-product-delete { --phnx-btn-color: #ff5578; color: #ff8099; }

.admin-product-modal { z-index: 1400; }
.admin-product-modal::backdrop { background: rgba(0, 4, 12, .82); backdrop-filter: blur(8px); }
.admin-product-modal-box {
  background: linear-gradient(150deg, #0b1727, #08111e 70%);
  border: 1px solid rgba(63, 130, 182, .45);
  border-radius: 16px;
  box-shadow: 0 30px 90px rgba(0,0,0,.68), 0 0 50px rgba(37,216,244,.08);
  max-height: 92dvh;
  max-width: 1120px;
  padding: 0;
  width: min(1120px, calc(100vw - 34px));
}
.admin-product-modal-box > header {
  align-items: center;
  background: rgba(7,17,30,.96);
  border-bottom: 1px solid rgba(70,123,164,.28);
  display: flex;
  justify-content: space-between;
  padding: 16px 18px;
  position: sticky;
  top: 0;
  z-index: 20;
}
.admin-product-modal-box > header > div { display: grid; gap: 2px; }
.admin-product-modal-box > header span { color: #25d8f4; font-size: 9px; font-weight: 950; letter-spacing: .12em; text-transform: uppercase; }
.admin-product-modal-box > header strong { color: #f4f8ff; font-size: 18px; }
.admin-product-modal-box > header small { color: #8293aa; font-size: 10px; }
.admin-product-modal-box > header > button { font-size: 22px; }

.admin-product-editor {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 18px !important;
  width: 100% !important;
}
.admin-product-editor > .shop-rarity-effects { display: none; }
.admin-product-editor.admin-shop-card,
.admin-product-editor.admin-bubble-schema-card,
.admin-product-editor.admin-weapon-card,
.admin-product-editor.admin-missile-skin-card,
.admin-product-editor.admin-bundle-card {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 13px !important;
}
.admin-product-editor.admin-shop-card > .admin-shop-card-mark,
.admin-product-editor.admin-shop-card > .admin-shop-card-copy,
.admin-product-editor.admin-bubble-schema-card > .admin-bubble-schema-visual,
.admin-product-editor.admin-weapon-card > .admin-weapon-visual { grid-column: 1 / -1; }
.admin-product-editor.admin-web-frame-card { grid-template-columns: 150px minmax(0, 1fr) 230px !important; }
.admin-product-editor .admin-web-frame-fields { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.admin-product-editor .admin-game-buff-editor,
.admin-product-editor .admin-bubble-layout-editor,
.admin-product-editor .admin-shop-promotion { grid-column: 1 / -1 !important; }

.admin-shop-promotion {
  background: radial-gradient(circle at 96% 0, rgba(255,70,91,.12), transparent 40%), rgba(7,18,32,.86);
  border: 1px solid rgba(255,85,120,.26);
  border-radius: 12px;
  display: grid;
  gap: 11px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 4px 0;
  padding: 13px;
}
.admin-shop-promotion.is-active { border-color: rgba(255,85,120,.66); box-shadow: inset 0 0 24px rgba(255,50,85,.07); }
.admin-shop-promotion legend { color: #ff6c84; font-size: 11px; font-weight: 950; letter-spacing: .08em; padding: 0 7px; text-transform: uppercase; }
.admin-shop-promotion .admin-promo-switch { grid-column: 1 / -1; }
.admin-promo-preview { color: #ff9aaa; font-size: 10px; font-weight: 850; grid-column: 1 / -1; }

.admin-product-stats span[data-stat="damage_flat"], .admin-product-stats span[data-stat="damage_percent"] { color: #42e77d; }
.admin-product-stats span[data-stat="critical_chance_percent"] { color: #ffb14a; }
.admin-product-stats span[data-stat="critical_damage_percent"] { color: #ff647c; }
.admin-product-stats span[data-stat="fire_rate_percent"] { color: #30dbef; }
.admin-product-stats span[data-stat="missile_speed_percent"] { color: #5da5ff; }
.admin-product-stats span[data-stat="range_percent"] { color: #bc84ff; }
.admin-product-stats span[data-stat="homing_percent"] { color: #df73ff; }
.admin-product-stats span[data-stat="dodge_chance_percent"] { color: #46e9c0; }
.admin-product-stats span[data-stat="hp_flat"], .admin-product-stats span[data-stat="hp_percent"] { color: #9de85b; }
.admin-product-stats span[data-stat="regen_percent"] { color: #24dfa1; }
.admin-product-stats span[data-stat="movement_speed_percent"] { color: #ffe061; }
.admin-product-stats span[data-stat="explosion_radius_percent"] { color: #ff7ac8; }
.admin-product-stats span[data-stat="explosion_damage_percent"] { color: #ff864d; }
.admin-product-stats span[data-stat="xp_percent"] { color: #ffd45a; }
.admin-product-stats span[data-stat="kill_xp_percent"] { color: #57e3ff; }
.admin-product-stats span[data-stat="streak_xp_percent"] { color: #b980ff; }

@media (max-width: 900px) {
  .admin-product-editor.admin-shop-card,
  .admin-product-editor.admin-bubble-schema-card,
  .admin-product-editor.admin-weapon-card,
  .admin-product-editor.admin-missile-skin-card,
  .admin-product-editor.admin-bundle-card { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .admin-product-editor.admin-web-frame-card { grid-template-columns: 120px minmax(0, 1fr) !important; }
  .admin-product-editor .admin-web-frame-actions { grid-column: 1 / -1; }
  .admin-product-editor .admin-web-frame-fields { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .admin-shop-promotion { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  body.admin-panel-route [data-admin-panel="shop"] .admin-shop-list,
  body.admin-panel-route [data-admin-panel="shop"] .admin-web-frame-list,
  body.admin-panel-route .admin-level-boosters-panel .admin-shop-list { grid-template-columns: 1fr !important; }
  .admin-product-tile { min-height: 300px; }
  .admin-product-modal-box { border-radius: 0; height: 100dvh; max-height: 100dvh; width: 100vw; }
  .admin-product-editor.admin-shop-card,
  .admin-product-editor.admin-bubble-schema-card,
  .admin-product-editor.admin-weapon-card,
  .admin-product-editor.admin-missile-skin-card,
  .admin-product-editor.admin-bundle-card,
  .admin-product-editor.admin-web-frame-card,
  .admin-product-editor .admin-web-frame-fields,
  .admin-shop-promotion { grid-template-columns: 1fr !important; }
  .admin-product-editor.admin-web-frame-card > .admin-web-frame-preview { margin-inline: auto; }
  .admin-shop-promotion > * { grid-column: 1 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .admin-product-tile .shop-rarity-effects i { animation: none !important; }
}
/* Pack Créateur · configuration Admin et attribution gratuite */
.admin-creator-support-panel {
  --creator-admin-gold: #f8c864;
  --creator-admin-cyan: #47ddff;
  background:
    radial-gradient(circle at 92% -8%, rgba(80, 156, 255, .18), transparent 35%),
    radial-gradient(circle at 3% 8%, rgba(248, 200, 100, .12), transparent 28%),
    linear-gradient(155deg, rgba(8, 23, 42, .98), rgba(5, 14, 28, .98));
  border-color: rgba(118, 190, 255, .28) !important;
  overflow: hidden;
  position: relative;
}
.admin-creator-support-panel::before {
  background: linear-gradient(90deg, transparent, rgba(71, 221, 255, .86), rgba(248, 200, 100, .9), transparent);
  content: "";
  height: 1px;
  inset: 0 8% auto;
  position: absolute;
}
.admin-creator-support-head > span {
  background: rgba(10, 27, 47, .8);
  border: 1px solid rgba(71, 221, 255, .3);
  border-radius: 999px;
  color: #bcefff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  padding: 8px 12px;
  text-transform: uppercase;
}
.admin-creator-support-stats {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 16px 0;
}
.admin-creator-support-stats article {
  background: linear-gradient(145deg, rgba(11, 31, 53, .92), rgba(5, 16, 29, .9));
  border: 1px solid rgba(84, 153, 211, .24);
  border-radius: 14px;
  display: grid;
  gap: 4px;
  min-height: 98px;
  padding: 16px;
}
.admin-creator-support-stats small { color: #6cbfd7; font-size: 9px; font-weight: 950; letter-spacing: .1em; }
.admin-creator-support-stats strong { color: #f7fbff; font-size: clamp(18px, 2vw, 26px); }
.admin-creator-support-stats span { color: #8295ad; font-size: 10px; }
.admin-creator-support-settings,
.admin-creator-support-grant {
  background: rgba(5, 16, 30, .66);
  border: 1px solid rgba(76, 142, 199, .22);
  border-radius: 16px;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 16px;
}
.admin-creator-support-settings > label,
.admin-creator-support-grant > label { min-width: 0; }
.admin-creator-support-wide,
.admin-creator-support-section-title { grid-column: 1 / -1; }
.admin-creator-support-section-title {
  align-items: center;
  display: flex;
  gap: 12px;
  margin-top: 6px;
  min-width: 0;
}
.admin-creator-support-section-title > span {
  align-items: center;
  background: linear-gradient(145deg, rgba(71, 221, 255, .16), rgba(248, 200, 100, .1));
  border: 1px solid rgba(71, 221, 255, .28);
  border-radius: 10px;
  color: var(--creator-admin-cyan);
  display: inline-flex;
  flex: 0 0 38px;
  font-size: 10px;
  font-weight: 950;
  height: 38px;
  justify-content: center;
}
.admin-creator-support-section-title div { display: grid; gap: 3px; min-width: 0; }
.admin-creator-support-section-title strong { color: #f5f9ff; font-size: 13px; }
.admin-creator-support-section-title small { color: #7f93aa; font-size: 10px; line-height: 1.45; }
.admin-creator-support-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.admin-creator-support-actions > p,
#admin-creator-support-grant-status { color: #8ca1b8; font-size: 10px; margin: 0; }
.admin-creator-support-actions > p[data-state="success"],
#admin-creator-support-grant-status[data-state="success"] { color: #55e8a7; }
.admin-creator-support-actions > p[data-state="error"],
#admin-creator-support-grant-status[data-state="error"] { color: #ff718e; }
.admin-creator-support-management {
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(320px, .9fr) minmax(420px, 1.25fr);
  margin-top: 14px;
}
.admin-creator-support-grant { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.admin-creator-support-access {
  background: rgba(5, 16, 30, .66);
  border: 1px solid rgba(76, 142, 199, .22);
  border-radius: 16px;
  min-width: 0;
  padding: 16px;
}
.admin-creator-support-access-list { display: grid; gap: 9px; margin-top: 14px; max-height: 560px; overflow: auto; padding-right: 4px; }
.admin-creator-support-access-card {
  align-items: center;
  background: linear-gradient(145deg, rgba(11, 30, 49, .88), rgba(6, 17, 30, .9));
  border: 1px solid rgba(80, 144, 198, .23);
  border-radius: 13px;
  display: grid;
  gap: 10px;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  padding: 10px;
}
.admin-creator-support-access-card.is-gift { border-color: rgba(248, 200, 100, .38); box-shadow: inset 3px 0 var(--creator-admin-gold); }
.admin-creator-support-access-card.is-paid { box-shadow: inset 3px 0 var(--creator-admin-cyan); }
.admin-creator-support-access-card img,
.admin-creator-support-access-avatar {
  align-items: center;
  background: #0c2239;
  border: 1px solid rgba(111, 198, 255, .25);
  border-radius: 50%;
  color: #9beaff;
  display: flex;
  font-size: 12px;
  font-weight: 950;
  height: 42px;
  justify-content: center;
  object-fit: cover;
  width: 42px;
}
.admin-creator-support-access-copy { display: grid; gap: 3px; min-width: 0; }
.admin-creator-support-access-copy strong { color: #f5f9ff; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-creator-support-access-copy span { color: #7e93aa; font-size: 9px; line-height: 1.35; }
.admin-creator-support-access-copy em { color: var(--creator-admin-gold); font-size: 9px; font-style: normal; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.admin-creator-support-revoke { border-color: rgba(255, 87, 119, .3) !important; color: #ff8ba2 !important; min-width: 82px; }
.admin-creator-support-empty { color: #7f93aa; font-size: 11px; padding: 20px 6px; text-align: center; }

@media (max-width: 1180px) {
  .admin-creator-support-settings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-creator-support-management { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .admin-creator-support-stats,
  .admin-creator-support-settings,
  .admin-creator-support-grant { grid-template-columns: 1fr; }
  .admin-creator-support-stats article { min-height: 84px; }
  .admin-creator-support-settings > *,
  .admin-creator-support-grant > * { grid-column: 1 !important; }
  .admin-creator-support-access-card { grid-template-columns: 38px minmax(0, 1fr); }
  .admin-creator-support-access-card > button { grid-column: 1 / -1; width: 100%; }
}
