/* NOVA PC Master — final player-facing workshop UI */
.master-v3 {
  position: relative;
  overflow: hidden !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 190, 34, .34) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 90% 0, rgba(255, 170, 0, .12), transparent 34%),
    linear-gradient(180deg, #0c1111 0, #080b0c 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 26px 70px rgba(0,0,0,.45) !important;
}

.master-v3::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: .12;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 30px 30px;
}

.master-v3 > * { position: relative; z-index: 1; }
.master-v3-header {
  height: auto !important;
  min-height: 72px;
  padding: 11px 14px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  background: linear-gradient(90deg, rgba(10,15,15,.98), rgba(18,16,9,.98)) !important;
}

.master-v3-profile { min-width: 0; gap: 11px !important; }
.master-v3-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border: 1px solid rgba(255,196,0,.7) !important;
  box-shadow: 0 0 0 4px rgba(255,196,0,.07), 0 8px 20px rgba(0,0,0,.36) !important;
}
.master-v3-title { font-size: 19px !important; line-height: 1.08; letter-spacing: -.02em; }
.master-v3-online { display: flex; align-items: center; margin-top: 5px !important; color: #aeb5b4 !important; font-size: 10px !important; font-weight: 800; }
.master-v3-online span { flex: 0 0 7px; box-shadow: 0 0 10px rgba(72,227,106,.7); }

.master-v3-cover { height: 270px !important; background: #080909 !important; }
.master-v3-cover > img { object-position: center 31% !important; transform: scale(1.015); }
.master-v3-cover-shadow {
  background:
    linear-gradient(90deg, rgba(0,0,0,.42), transparent 64%),
    linear-gradient(180deg, rgba(0,0,0,.02) 22%, rgba(5,8,8,.18) 52%, #090d0d 100%) !important;
}
.master-v3-cover-text { left: 17px !important; right: 17px !important; bottom: 17px !important; gap: 5px; }
.master-v3-cover-text small { color: #ffc928; font-size: 8px; font-weight: 1000; letter-spacing: .16em; }
.master-v3-cover-text b { max-width: 320px; color: #fff; font-size: 25px !important; line-height: 1.04; letter-spacing: -.025em; text-shadow: 0 4px 18px #000; }
.master-v3-cover-text span { max-width: 350px; margin: 0 !important; color: #d6d9d8 !important; font-size: 11.5px !important; font-weight: 700; line-height: 1.42; text-shadow: 0 2px 10px #000; }

.master-chat-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 14px 4px;
}
.master-chat-heading > div { display: flex; align-items: center; gap: 7px; }
.master-chat-heading > div > span { width: 7px; height: 7px; border-radius: 50%; background: #48e36a; box-shadow: 0 0 10px rgba(72,227,106,.65); }
.master-chat-heading b { font-size: 12.5px; }
.master-chat-heading small { color: #777f7e; font-size: 8.5px; font-weight: 800; }

.master-chat-box {
  min-height: 112px !important;
  max-height: 260px !important;
  margin: 7px 12px 0;
  padding: 11px 10px 2px !important;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 18px 18px 8px 8px;
  background: rgba(0,0,0,.24);
  scrollbar-width: thin;
  scrollbar-color: rgba(255,196,0,.4) transparent;
}
.master-message { padding: 10px 12px 8px !important; color: #eef1f0; font-size: 12.5px !important; line-height: 1.42 !important; }
.master-message.npc { border-color: rgba(255,196,0,.15) !important; background: linear-gradient(145deg, #191a16, #101414) !important; }
.master-message.user { border-color: rgba(72,227,106,.3) !important; background: linear-gradient(145deg, #16451c, #0b2e11) !important; }

.master-chat-input { grid-template-columns: minmax(0,1fr) 48px !important; gap: 8px !important; padding: 8px 12px 14px !important; }
.master-chat-input textarea { min-height: 48px !important; padding: 13px 14px !important; border-radius: 15px !important; border-color: rgba(255,255,255,.1) !important; background: #0b0f10 !important; color: #f3f3f3 !important; font-size: 12.5px !important; }
.master-chat-input textarea:focus { border-color: rgba(255,196,0,.55) !important; box-shadow: 0 0 0 3px rgba(255,196,0,.07); }
.master-chat-input button { width: 48px; height: 48px !important; border-radius: 15px !important; color: #171000 !important; background: linear-gradient(145deg,#ffd02d,#ff9500) !important; box-shadow: 0 10px 22px rgba(255,145,0,.2) !important; }

.master-loyalty-card {
  display: grid;
  gap: 11px;
  margin: 0 12px 15px;
  padding: 13px;
  border: 1px solid rgba(255,196,0,.25);
  border-radius: 20px;
  background: radial-gradient(circle at 0 0, rgba(255,196,0,.11), transparent 38%), linear-gradient(145deg,#171711,#0d1010);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045);
}
.master-loyalty-head { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.master-loyalty-head .master-stat-round { width: 43px !important; height: 43px !important; color: #ffc928 !important; background: rgba(255,196,0,.1) !important; box-shadow: inset 0 0 0 1px rgba(255,196,0,.18); }
.master-loyalty-head > div { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.master-loyalty-head small { color: #8d9290; font-size: 7.5px; font-weight: 1000; letter-spacing: .11em; }
.master-loyalty-head b { overflow: hidden; color: #fff; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.master-loyalty-head > strong { min-width: 37px; color: #ffc928; font-size: 22px; text-align: right; }
.master-loyalty-progress { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }
.master-loyalty-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#ff8c00,#ffc928,#fff0a1); box-shadow: 0 0 12px rgba(255,196,0,.45); }
.master-loyalty-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.master-loyalty-benefits > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; padding: 9px 10px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.035); }
.master-loyalty-benefits small { color: #a4a8a7; font-size: 8.5px; font-weight: 800; line-height: 1.2; }
.master-loyalty-benefits b { flex: 0 0 auto; color: #65e87d; font-size: 13px; }

.master-services-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; padding: 2px 14px 10px; }
.master-services-head > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.master-services-head small { color: #ffc928; font-size: 7.5px; font-weight: 1000; letter-spacing: .13em; }
.master-services-head b { color: #f4f4f4; font-size: 13px; line-height: 1.2; }
.master-services-head > span { flex: 0 0 auto; padding: 5px 7px; border: 1px solid rgba(255,196,0,.19); border-radius: 8px; color: #aaa; background: rgba(255,196,0,.055); font-size: 8px; font-weight: 900; }

.master-services-grid { gap: 9px !important; padding: 0 12px 15px !important; }
.master-service-button {
  min-height: 122px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 12px !important;
  border: 1px solid rgba(255,196,0,.19) !important;
  border-radius: 18px !important;
  color: #fff !important;
  text-align: left !important;
  background: radial-gradient(circle at 14% 12%,rgba(255,196,0,.13),transparent 42%),linear-gradient(150deg,#171713,#0b0d0d 72%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 24px rgba(0,0,0,.2) !important;
}
.master-service-button:active { transform: translateY(1px) scale(.985) !important; border-color: rgba(255,196,0,.65) !important; }
.master-service-icon-slot { width: 43px !important; height: 43px !important; flex: 0 0 43px; border-radius: 13px !important; border-color: rgba(255,196,0,.25) !important; background: linear-gradient(145deg,rgba(255,196,0,.13),rgba(255,255,255,.025)) !important; }
.master-service-icon-slot img { width: 31px !important; height: 31px !important; }
.master-service-copy { width: 100%; min-width: 0; gap: 5px !important; }
.master-service-copy b { color: #fff; font-size: 12.5px !important; line-height: 1.08 !important; letter-spacing: -.01em; white-space: normal !important; }
.master-service-copy small { color: #a9adab !important; font-size: 9px !important; font-weight: 700; line-height: 1.35 !important; white-space: normal !important; }

.master-repair-jobs { margin: 0 12px 13px !important; }
.master-repair-job { grid-template-columns: 58px minmax(0,1fr) !important; padding: 11px !important; border-color: rgba(72,227,106,.25) !important; background: linear-gradient(145deg,rgba(72,227,106,.085),rgba(12,15,14,.95)) !important; }
.repair-job-pc { width: 58px !important; height: 58px !important; }
.repair-job-info b { font-size: 13px; }
.repair-job-info small { color: #9fa6a3 !important; font-size: 9px !important; }
.repair-job-info strong { color: #65e87d !important; font-size: 16px !important; }

.master-v3-tip { align-items: center; margin: 0 12px 16px !important; padding: 12px !important; border-color: rgba(255,196,0,.2) !important; border-radius: 17px !important; background: linear-gradient(145deg,rgba(255,196,0,.06),rgba(10,12,12,.88)) !important; }
.master-v3-tip b { color: #ffc928 !important; font-size: 11px !important; }
.master-v3-tip p { color: #b6bab8 !important; font-size: 9.5px !important; line-height: 1.4 !important; }
.master-no-pc { margin: 0 12px 15px !important; padding: 18px 14px !important; border: 1px dashed rgba(255,196,0,.18); text-align: center; }

.repair-picker-modal-v82, .repair-confirm-modal-v82 { border-radius: 20px; }
.repair-picker-head-v82 > span, .repair-confirm-modal-v82 > header > span { font-size: 8.5px !important; }
.repair-picker-head-v82 h2, .repair-confirm-modal-v82 > header h2 { font-size: 23px !important; }
.repair-picker-head-v82 p, .repair-confirm-modal-v82 > header p { color: #b0b3b2 !important; font-size: 10.5px !important; }
.repair-picker-summary-v82 span { color: #bbbeba !important; font-size: 10px !important; }
.repair-picker-summary-v82 b { font-size: 13px !important; }
.repair-pc-badges-v82 i { color: #b8bbb8 !important; font-size: 8.5px !important; }
.repair-pc-reason-v82 { font-size: 9px !important; }
.repair-confirm-modal-v82 .repair-confirm-pc small { color: #aaaead !important; font-size: 10px; }
.repair-confirm-modal-v82 .repair-confirm-price > small { color: #b2b5b2 !important; font-size: 10px !important; }

@media (max-width: 390px) {
  .master-v3-cover { height: 238px !important; }
  .master-v3-cover-text b { font-size: 22px !important; }
  .master-v3-cover-text span { font-size: 10.5px !important; }
  .master-loyalty-card { padding: 11px; }
  .master-loyalty-benefits > div { align-items: flex-start; flex-direction: column; gap: 3px; }
  .master-service-button { min-height: 120px !important; padding: 11px !important; }
  .master-service-copy b { font-size: 11.5px !important; }
  .master-service-copy small { font-size: 8.5px !important; }
  .repair-picker-head-v82 h2, .repair-confirm-modal-v82 > header h2 { font-size: 21px !important; }
}

/* V95: keep service artwork centered above every label */
.master-service-button{align-items:center!important;text-align:center!important}.master-service-icon-slot{align-self:center!important;margin-inline:auto!important}.master-service-copy{align-items:center!important;justify-items:center!important;text-align:center!important}.master-service-copy b,.master-service-copy small{width:100%!important;text-align:center!important}
