/* =========================================================
   ADMIN STOCK
   Append to resources/css/app.css
   ========================================================= */

.admin-stock-page { display: grid; gap: 1rem; }
.admin-stock-summary,
.admin-stock-product-overview { display: flex; align-items: stretch; gap: 1rem; padding: .85rem 1rem; border: 1px solid var(--admin-border); border-radius: .95rem; background: linear-gradient(145deg, rgba(250,247,240,.98), rgba(246,241,232,.96)); box-shadow: 0 10px 25px rgba(65,74,65,.045); }
.admin-stock-summary-item,
.admin-stock-product-overview > div { flex: 1; min-width: 0; }
.admin-stock-summary-item span,
.admin-stock-product-overview span { display: block; color: var(--admin-text-muted); font-size: .54rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.admin-stock-summary-item strong,
.admin-stock-product-overview strong { display: block; margin-top: .18rem; color: var(--admin-text); font-size: .88rem; }
.admin-stock-summary-divider { width: 1px; background: var(--admin-border); }

.admin-stock-table-panel { overflow: hidden; border: 1px solid var(--admin-border); border-radius: 1rem; background: linear-gradient(145deg, rgba(250,247,240,.98), rgba(246,241,232,.96)); box-shadow: 0 12px 28px rgba(65,74,65,.055); }
.admin-stock-table-scroll { overflow-x: auto; }
.admin-stock-table { width: 100%; min-width: 52rem; border-collapse: collapse; table-layout: fixed; }
.admin-stock-table th { padding: .8rem .9rem; border-bottom: 1px solid var(--admin-border); color: var(--admin-text-muted); background: rgba(119,137,119,.045); font-size: .53rem; font-weight: 800; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.admin-stock-table td { padding: .78rem .9rem; border-bottom: 1px solid var(--admin-border); color: var(--admin-text-soft); font-size: .62rem; vertical-align: middle; }
.admin-stock-table tbody tr:last-child td { border-bottom: 0; }
.admin-stock-table tbody tr:hover { background: rgba(119,137,119,.04); }
.admin-stock-table th:nth-child(1), .admin-stock-table td:nth-child(1) { width: 28%; }
.admin-stock-table th:nth-child(2), .admin-stock-table td:nth-child(2) { width: 18%; }
.admin-stock-table th:nth-child(3), .admin-stock-table td:nth-child(3) { width: 18%; }
.admin-stock-table th:nth-child(4), .admin-stock-table td:nth-child(4) { width: 14%; }
.admin-stock-table th:nth-child(5), .admin-stock-table td:nth-child(5) { width: 22%; }

.admin-stock-product { display: flex; align-items: center; gap: .65rem; min-width: 0; }
.admin-stock-product img,
.admin-stock-product > span { width: 2.45rem; height: 2.45rem; flex-shrink: 0; border: 1px solid var(--admin-border); border-radius: .7rem; }
.admin-stock-product img { object-fit: cover; }
.admin-stock-product > span { display: grid; place-items: center; color: var(--admin-primary-deep); background: rgba(119,137,119,.1); font-family: 'Fraunces', serif; font-weight: 700; }
.admin-stock-product strong { display: block; overflow: hidden; color: var(--admin-text); font-size: .66rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.admin-stock-product small { display: block; margin-top: .12rem; color: var(--admin-text-muted); font-size: .51rem; }
.admin-stock-category { display: inline-flex; padding: .33rem .5rem; border: 1px solid var(--admin-border); border-radius: 999px; background: rgba(255,255,255,.38); font-size: .54rem; white-space: nowrap; }
.admin-stock-count { display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .52rem; border: 1px solid transparent; border-radius: .65rem; }
.admin-stock-count strong { font-size: .72rem; }
.admin-stock-count small { font-size: .5rem; font-weight: 800; }
.admin-stock-count.is-safe { color: var(--admin-success); background: rgba(103,133,111,.09); border-color: rgba(103,133,111,.16); }
.admin-stock-count.is-critical { color: var(--admin-danger); background: rgba(173,103,93,.09); border-color: rgba(173,103,93,.16); }
.admin-stock-threshold,
.admin-stock-id,
.admin-stock-date { color: var(--admin-text-soft); font-weight: 750; }
.admin-stock-actions { display: flex; align-items: center; justify-content: flex-start; gap: .35rem; }
.admin-stock-action { min-height: 2rem; display: inline-flex; align-items: center; justify-content: center; padding: .4rem .56rem; border: 1px solid var(--admin-border); border-radius: .62rem; font-size: .54rem; font-weight: 800; white-space: nowrap; }
.admin-stock-action.is-view { color: var(--admin-primary-deep); background: rgba(119,137,119,.07); }
.admin-stock-action.is-add { color: #8f6d39; background: rgba(185,154,100,.09); border-color: rgba(185,154,100,.17); }
.admin-stock-action.is-delete { color: var(--admin-danger); background: rgba(173,103,93,.08); border-color: rgba(173,103,93,.16); }
.admin-stock-locked { color: var(--admin-text-muted); font-size: .53rem; }
.admin-stock-empty { padding: 2rem; color: var(--admin-text-muted); text-align: center; }
.admin-stock-pagination { margin-top: .2rem; }

.admin-stock-manual-note { padding: .8rem .9rem; border: 1px solid rgba(185,154,100,.2); border-radius: .8rem; color: #886637; background: rgba(185,154,100,.09); }
.admin-stock-manual-note strong { font-size: .62rem; }
.admin-stock-manual-note p { margin-top: .2rem; font-size: .56rem; line-height: 1.5; }
.admin-stock-detail-table { min-width: 42rem; }
.admin-stock-detail-table th:nth-child(1), .admin-stock-detail-table td:nth-child(1) { width: 15%; }
.admin-stock-detail-table th:nth-child(2), .admin-stock-detail-table td:nth-child(2) { width: 25%; }
.admin-stock-detail-table th:nth-child(3), .admin-stock-detail-table td:nth-child(3) { width: 38%; }
.admin-stock-detail-table th:nth-child(4), .admin-stock-detail-table td:nth-child(4) { width: 22%; }

.admin-stock-mode-tabs { width: fit-content; display: inline-flex; gap: .3rem; padding: .3rem; border: 1px solid var(--admin-border); border-radius: .75rem; background: rgba(250,247,240,.8); }
.admin-stock-tab { min-width: 6.5rem; padding: .5rem .75rem; border-radius: .58rem; color: var(--admin-text-muted); font-size: .58rem; font-weight: 800; }
.admin-stock-tab.is-active { color: #f8f4e9; background: var(--admin-primary-deep); box-shadow: 0 6px 14px rgba(65,74,65,.14); }
.admin-stock-form-panel { max-width: 56rem; }
.admin-stock-schema-note { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .72rem; border: 1px solid var(--admin-border); border-radius: .7rem; background: rgba(119,137,119,.05); }
.admin-stock-schema-note span { color: var(--admin-text-muted); font-size: .54rem; font-weight: 800; text-transform: uppercase; }
.admin-stock-schema-note strong { color: var(--admin-primary-deep); font-size: .6rem; text-align: right; }
.admin-stock-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; padding-top: .2rem; }
.admin-stock-batch-guide { padding: .78rem; border: 1px solid rgba(119,137,119,.17); border-radius: .78rem; background: rgba(119,137,119,.06); }
.admin-stock-batch-guide-title { color: var(--admin-primary-deep); font-size: .56rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.admin-stock-batch-guide p { margin-top: .3rem; color: var(--admin-text-soft); font-size: .58rem; line-height: 1.55; }
.admin-stock-code-example { display: grid; gap: .25rem; margin-top: .6rem; }
.admin-stock-code-example code { display: block; padding: .42rem .55rem; border: 1px solid var(--admin-border); border-radius: .55rem; color: var(--admin-text); background: rgba(255,255,255,.46); font-size: .56rem; overflow-wrap: anywhere; }
.admin-stock-batch-textarea { min-height: 13rem; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.admin-stock-file-input { width: 100%; padding: .58rem; border: 1px solid var(--admin-border); border-radius: .7rem; color: var(--admin-text-soft); background: rgba(255,255,255,.5); font-size: .58rem; }
.admin-stock-file-input::file-selector-button { margin-right: .65rem; padding: .42rem .62rem; border: 0; border-radius: .5rem; color: #f8f4e9; background: var(--admin-primary-deep); font-size: .54rem; font-weight: 800; cursor: pointer; }

@media (max-width: 760px) {
  .admin-stock-summary,
  .admin-stock-product-overview { gap: .65rem; padding: .75rem; }
  .admin-stock-summary-item strong,
  .admin-stock-product-overview strong { font-size: .76rem; }
}

@media (max-width: 560px) {
  .admin-stock-summary,
  .admin-stock-product-overview { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .admin-stock-summary-divider { display: none; }
  .admin-stock-summary-item,
  .admin-stock-product-overview > div { text-align: center; }
  .admin-stock-mode-tabs { width: 100%; }
  .admin-stock-tab { flex: 1; min-width: 0; }
  .admin-stock-form-actions .admin-button { width: 100%; }
}



/* Stock detail page refinement */
.admin-stock-product-overview { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.admin-stock-detail-table td:last-child { text-align: right; }
.admin-stock-detail-table td:last-child form { display: inline-flex; }
@media (max-width: 640px) {
  .admin-stock-product-overview { grid-template-columns: 1fr; }
}


/* Stock workflow v2 */
.admin-stock-bulkbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.65rem; padding:.65rem .75rem; border:1px solid var(--admin-border); border-radius:.75rem; background:rgba(250,247,240,.78); }
.admin-stock-bulkbar label { display:flex; align-items:center; gap:.45rem; color:var(--admin-text-soft); font-size:.58rem; font-weight:800; }
.admin-stock-bulk-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:.4rem; }
.admin-stock-preview { display:block; max-width:24rem; margin-top:.2rem; overflow:hidden; color:var(--admin-text); font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-capacity-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.admin-capacity-card { padding:1rem; border:1px solid var(--admin-border); border-radius:.9rem; background:rgba(250,247,240,.78); }
.admin-capacity-card span { display:block; color:var(--admin-text-muted); font-size:.54rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.admin-capacity-card strong { display:block; margin-top:.35rem; color:var(--admin-text); font-size:1.25rem; }
.admin-capacity-card.is-highlight { border-color:rgba(103,133,111,.28); background:rgba(103,133,111,.09); }
.admin-capacity-card.is-highlight strong { color:var(--admin-success); }
.admin-capacity-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.admin-stock-helper { color:var(--admin-text-muted); font-size:.56rem; line-height:1.55; }
.admin-stock-empty-card { display:grid; place-items:center; padding:2rem; border:1px dashed var(--admin-border); border-radius:1rem; text-align:center; }
.admin-stock-empty-card p { margin:.3rem 0 .8rem; color:var(--admin-text-muted); font-size:.6rem; }
@media(max-width:760px){.admin-capacity-grid,.admin-capacity-panels{grid-template-columns:1fr}.admin-stock-bulkbar{align-items:flex-start;flex-direction:column}.admin-stock-bulk-actions{width:100%;justify-content:flex-start}}


/* Stock audit detail */
.admin-stock-payload-list {
  display: grid;
  gap: .34rem;
  min-width: 16rem;
}
.admin-stock-payload-row {
  display: grid;
  grid-template-columns: minmax(5rem, .55fr) minmax(9rem, 1.45fr);
  gap: .7rem;
  align-items: start;
}
.admin-stock-payload-row span {
  color: var(--admin-text-muted);
  font-size: .52rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.admin-stock-payload-row strong {
  color: var(--admin-text);
  font-size: .58rem;
  font-weight: 700;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.admin-stock-order-link,
.admin-stock-order-empty {
  display: block;
  margin-top: .38rem;
  font-size: .5rem;
}
.admin-stock-order-link {
  color: var(--admin-primary-deep);
  font-weight: 800;
  overflow-wrap: anywhere;
}
.admin-stock-order-empty { color: var(--admin-text-muted); }
.admin-stock-detail-table { min-width: 72rem; }
.admin-stock-detail-table th:nth-child(1),
.admin-stock-detail-table td:nth-child(1) { width: 3rem; }
.admin-stock-detail-table th:nth-child(2),
.admin-stock-detail-table td:nth-child(2) { width: 5rem; }
.admin-stock-detail-table th:nth-child(3),
.admin-stock-detail-table td:nth-child(3) { min-width: 22rem; }


/* Admin confirmation modal */
html.admin-confirm-open { overflow: hidden; }
.admin-confirm-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 1rem; visibility: hidden; opacity: 0; transition: opacity .18s ease, visibility .18s ease; }
.admin-confirm-modal.is-open { visibility: visible; opacity: 1; }
.admin-confirm-backdrop { position: absolute; inset: 0; border: 0; background: rgba(41,48,43,.48); backdrop-filter: blur(5px); }
.admin-confirm-dialog { position: relative; width: min(100%, 27rem); padding: 1.35rem; border: 1px solid rgba(119,137,119,.2); border-radius: 1rem; background: linear-gradient(145deg,#faf7f0,#f5efe4); box-shadow: 0 28px 70px rgba(40,48,42,.24); transform: translateY(8px) scale(.985); transition: transform .18s ease; }
.admin-confirm-modal.is-open .admin-confirm-dialog { transform: none; }
.admin-confirm-close { position:absolute; top:.72rem; right:.72rem; width:2rem; height:2rem; border:1px solid var(--admin-border); border-radius:999px; color:var(--admin-text-muted); background:rgba(255,255,255,.5); font-size:1rem; }
.admin-confirm-eyebrow { color:var(--admin-primary-deep); font-size:.52rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.admin-confirm-title { margin-top:.42rem; padding-right:2rem; color:var(--admin-text); font-size:1.45rem; font-weight:600; }
.admin-confirm-message { margin-top:.55rem; color:var(--admin-text-soft); font-size:.65rem; line-height:1.65; }
.admin-confirm-actions { display:flex; justify-content:flex-end; gap:.55rem; margin-top:1.15rem; }
.admin-confirm-button { min-height:2.55rem; padding:.62rem .85rem; border-radius:.72rem; font-size:.6rem; font-weight:850; }
.admin-confirm-button.is-cancel { border:1px solid var(--admin-border); color:var(--admin-text-soft); background:rgba(255,255,255,.5); }
.admin-confirm-button.is-primary { color:#f8f4e9; background:var(--admin-primary-deep); }
.admin-confirm-button.is-danger { color:#fff8f5; background:var(--admin-danger); }
.admin-confirm-button:disabled { opacity:.6; cursor:not-allowed; }

/* Stock audit search */
.admin-stock-search-panel { position:relative; padding:.72rem; border:1px solid var(--admin-border); border-radius:.85rem; background:rgba(250,247,240,.8); }
.admin-stock-search-form { display:grid; grid-template-columns:minmax(0,1fr) 10rem auto; gap:.55rem; align-items:center; }
.admin-stock-search-field { position:relative; }
.admin-stock-search-field > svg { position:absolute; left:.72rem; top:50%; width:.95rem; height:.95rem; color:var(--admin-text-muted); transform:translateY(-50%); pointer-events:none; }
.admin-stock-search-field input,.admin-stock-search-status { width:100%; min-height:2.65rem; border:1px solid var(--admin-border); border-radius:.7rem; outline:0; color:var(--admin-text); background:rgba(255,255,255,.58); font-size:.6rem; }
.admin-stock-search-field input { padding:.62rem 2.2rem .62rem 2.15rem; }
.admin-stock-search-status { padding:.62rem .7rem; }
.admin-stock-search-field input:focus,.admin-stock-search-status:focus { border-color:rgba(103,133,111,.45); box-shadow:0 0 0 3px rgba(103,133,111,.09); }
.admin-stock-search-clear { position:absolute; right:.68rem; top:50%; color:var(--admin-text-muted); font-size:1rem; transform:translateY(-50%); }
.admin-stock-suggestions { position:absolute; left:0; right:0; top:calc(100% + .35rem); z-index:50; overflow:hidden; border:1px solid var(--admin-border); border-radius:.75rem; background:#faf7f0; box-shadow:0 16px 36px rgba(40,48,42,.14); }
.admin-stock-suggestion { width:100%; display:block; padding:.62rem .72rem; border-bottom:1px solid var(--admin-border); text-align:left; }
.admin-stock-suggestion:last-child { border-bottom:0; }
.admin-stock-suggestion:hover { background:rgba(119,137,119,.07); }
.admin-stock-suggestion strong { display:block; overflow:hidden; color:var(--admin-text); font-size:.6rem; text-overflow:ellipsis; white-space:nowrap; }
.admin-stock-suggestion span { display:block; margin-top:.14rem; color:var(--admin-text-muted); font-size:.5rem; }
.admin-stock-search-result { margin-top:.52rem; color:var(--admin-text-muted); font-size:.54rem; }
.admin-stock-search-result strong { color:var(--admin-primary-deep); }
@media(max-width:700px){.admin-stock-search-form{grid-template-columns:1fr}.admin-confirm-actions{flex-direction:column-reverse}.admin-confirm-button{width:100%}}

.admin-stock-variant-picker {
  display: grid;
  grid-template-columns: minmax(7rem, auto) minmax(12rem, 24rem);
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--admin-border);
  border-radius: 0.8rem;
  background: rgba(255, 255, 255, 0.42);
}

.admin-stock-variant-picker label {
  color: var(--admin-text-soft);
  font-size: 0.6rem;
  font-weight: 850;
}

@media (max-width: 640px) {
  .admin-stock-variant-picker {
    grid-template-columns: 1fr;
  }
}

/* Shared Robux balance */
.admin-robux-balance-summary small,
.admin-robux-transaction-note {
  display: block;
  margin-top: 0.25rem;
  color: var(--admin-text-muted, #748078);
  font-size: 0.72rem;
}

.admin-robux-stock-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 1rem;
  margin: 1rem 0;
}

.admin-robux-restock-form,
.admin-robux-variant-list {
  display: grid;
  gap: 0.9rem;
}

.admin-robux-variant-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1rem;
  padding: 0.9rem;
  border: 1px solid var(--admin-border, #dfe7e1);
  border-radius: 0.9rem;
}

.admin-robux-variant-item > div > strong,
.admin-robux-variant-item > div > span {
  display: block;
}

.admin-robux-variant-item > div > span,
.admin-robux-variant-item dt {
  margin-top: 0.2rem;
  color: var(--admin-text-muted, #748078);
  font-size: 0.7rem;
}

.admin-robux-variant-item dl {
  display: flex;
  gap: 1rem;
  margin: 0;
}

.admin-robux-variant-item dd {
  margin: 0.18rem 0 0;
  font-weight: 800;
}

.admin-robux-positive { color: #277a56; }
.admin-robux-negative { color: #a24b46; }

@media (max-width: 900px) {
  .admin-robux-stock-grid { grid-template-columns: 1fr; }
  .admin-robux-variant-item { grid-template-columns: 1fr; }
  .admin-robux-variant-item dl { justify-content: space-between; }
}
