.admin-header,
.admin-main { width: min(1520px, calc(100% - 36px)); }

.admin-profile { display: flex; align-items: center; gap: 8px; padding: 5px 9px 5px 5px; }
.admin-profile span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: var(--radius-sm); color: var(--color-primary-ink); background: var(--color-primary); font-size: .68rem; font-weight: 900; }
.admin-profile strong { font-size: .76rem; }
.admin-main { margin: 0 auto; padding: 34px 0 60px; }
.admin-titlebar { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.admin-titlebar p { margin: 5px 0 0; color: var(--color-muted); font-size: .85rem; }
.editable-title { display: flex; align-items: center; gap: 8px; }
.editable-title input { width: min(520px, 70vw); padding: 0; border: 0; color: var(--color-text); background: transparent; font-size: clamp(2rem, 4vw, 3rem); font-weight: 850; letter-spacing: -.045em; outline: 0; }
.editable-title input:focus { box-shadow: 0 2px 0 var(--color-primary); }
.admin-actions { display: flex; gap: 9px; }

.admin-stats { display: grid; grid-template-columns: repeat(4, minmax(100px, 150px)) minmax(220px, 1fr); gap: 1px; margin-top: 28px; overflow: hidden; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-line); }
.admin-stats > div { min-height: 72px; padding: 13px 16px; background: var(--color-surface); }
.admin-stats span,
.admin-stats strong { display: block; }
.admin-stats span { color: var(--color-muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.admin-stats strong { margin-top: 2px; font-size: 1.45rem; }
.balance-stat div { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin-top: 13px; }
.balance-stat i { height: 5px; border-radius: 99px; background: linear-gradient(90deg, var(--color-primary) var(--fill), #24363a var(--fill)); }

.command-layout { display: grid; grid-template-columns: 350px minmax(0, 1fr); gap: 16px; margin-top: 16px; align-items: start; }
.signup-queue { position: sticky; top: 16px; max-height: calc(100vh - 32px); display: flex; flex-direction: column; overflow: hidden; }
.queue-header { display: flex; justify-content: space-between; align-items: center; padding: 20px 20px 10px; }
.queue-header h2,
.board-toolbar h2 { margin: 0; font-size: 1.18rem; }
.queue-count { color: var(--color-primary); background: rgba(55, 214, 192, .1); }
.queue-search { margin: 8px 14px; }
.queue-tabs { display: flex; gap: 5px; padding: 4px 14px 10px; border-bottom: 1px solid var(--color-line-soft); }
.queue-tabs button { padding: 6px 9px; border: 0; border-radius: var(--radius-sm); color: var(--color-muted); background: transparent; font-size: .72rem; font-weight: 750; cursor: pointer; }
.queue-tabs button.is-active { color: var(--color-text); background: var(--color-surface-raised); }
.signup-list { flex: 1; overflow: auto; padding: 10px; }
.signup-card-admin { padding: 12px; margin-bottom: 8px; border: 1px solid var(--color-line); border-radius: 9px; background: var(--color-surface-deep); cursor: grab; transition: opacity .18s ease, border-color .18s ease, background .18s ease; }
.signup-card-admin:active { cursor: grabbing; }
.signup-card-admin.is-dragging { opacity: .45; }
.signup-card-admin.is-waiting { border-color: rgba(245, 184, 75, .34); background: linear-gradient(90deg, rgba(245, 184, 75, .08), var(--color-surface-deep) 34%); box-shadow: inset 3px 0 rgba(245, 184, 75, .58); }
.signup-card-admin.is-assigned { opacity: .58; background: rgba(8, 19, 22, .62); }
.signup-card-admin.is-assigned:hover,
.signup-card-admin.is-assigned:focus-within { opacity: .82; }
.signup-card-admin.is-collapsed { padding-block: 8px; }
.signup-card-admin.is-collapsed .assignment-tag { display: none; }
.signup-card-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.signup-card-head > div,
.signup-card-actions { display: flex; align-items: center; gap: 8px; }
.signup-card-head .avatar { width: 31px; height: 31px; }
.signup-card-head strong { font-size: .82rem; }
.assignment-tag { color: var(--color-primary); font-size: .64rem; font-weight: 800; }
.claim-reset { width: 27px; height: 27px; color: var(--color-warning); }
.signup-expand { width: 27px; height: 27px; font-size: .72rem; }
.signup-weapons { display: grid; gap: 5px; margin-top: 9px; }
.signup-weapon { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; padding: 6px 8px; border-radius: 6px; color: #c9d6d8; background: var(--color-surface-raised); font-size: .7rem; }
.signup-weapon b { color: var(--color-warning); font-size: .68rem; }
.queue-drop { margin: 0 10px 10px; padding: 10px; border: 1px dashed #40585e; border-radius: 8px; color: var(--color-muted); font-size: .68rem; text-align: center; }
.queue-drop.is-over { color: var(--color-primary); border-color: var(--color-primary); background: rgba(55, 214, 192, .06); }

.party-workspace { min-width: 0; }
.board-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px; border-bottom: 1px solid var(--color-line); }
.board-toolbar > div:last-child { display: flex; align-items: center; gap: 12px; }
.board-title-row { display: flex; align-items: center; gap: 16px; }
.party-stats-toggle { font-size: .68rem; font-weight: 650; }
.party-stats-toggle input { width: 14px; height: 14px; }
.drag-help { color: var(--color-muted); font-size: .72rem; }
.party-board { display: flex; gap: 12px; overflow-x: auto; padding: 14px; scroll-snap-type: x proximity; }
.admin-party { flex: 0 0 410px; overflow: hidden; scroll-snap-align: start; }
.admin-party-header { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 13px; border-bottom: 1px solid var(--color-line); background: var(--color-surface-raised); }
.party-number { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 8px; color: var(--color-primary); background: rgba(55, 214, 192, .1); font-size: .7rem; font-weight: 850; }
.party-title-input { width: 100%; border: 0; color: var(--color-text); background: transparent; font-size: .9rem; font-weight: 800; outline: 0; }
.party-title-input:focus { box-shadow: 0 2px 0 var(--color-primary); }
.party-header-actions { display: flex; align-items: center; gap: 6px; }
.party-header-actions span { color: var(--color-muted); font-size: .68rem; font-weight: 800; }
.remove-party { width: 28px; height: 28px; border: 0; }
.remove-party:hover { color: var(--color-danger); background: rgba(244, 118, 118, .08); }

.party-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border-bottom: 1px solid var(--color-line); background: var(--color-line-soft); }
.party-stats[hidden] { display: none; }
.party-stat { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; padding: 8px 10px; background: var(--color-surface-deep); }
.party-stat span { color: var(--color-muted); font-size: .59rem; font-weight: 750; letter-spacing: .035em; text-transform: uppercase; }
.party-stat strong { color: var(--color-text); font-size: .72rem; }

.slot-list { max-height: 660px; overflow: auto; }
.party-slot { display: grid; grid-template-columns: 32px 88px minmax(0, 1fr) auto; align-items: center; gap: 7px; min-height: 58px; padding: 7px 9px; border-bottom: 1px solid var(--color-line-soft); }
.party-slot.is-over { background: rgba(55, 214, 192, .08); box-shadow: inset 3px 0 var(--color-primary); }
.party-slot.has-role-mismatch { background: rgba(244, 118, 118, .045); box-shadow: inset 3px 0 rgba(244, 118, 118, .72); }
.party-slot.has-role-mismatch .role-select,
.party-slot.has-role-mismatch .slot-player { border-color: rgba(244, 118, 118, .48); }
.slot-index { color: #60777c; font-size: .66rem; font-weight: 800; text-align: center; }
.role-select { width: 100%; height: 34px; padding: 0 23px 0 8px; border: 1px solid var(--color-line); border-radius: 6px; color: #c7d4d6; background: var(--color-surface-deep); font-size: .66rem; }
.slot-player { min-width: 0; padding: 7px 8px; border: 1px dashed #34494e; border-radius: 7px; color: var(--color-muted); background: #091316; font-size: .69rem; }
.slot-player strong,
.slot-player small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.slot-player strong { color: var(--color-text); font-size: .73rem; }
.slot-player small { margin-top: 1px; color: var(--color-muted); font-size: .63rem; }
.slot-player.filled { border-style: solid; border-color: var(--color-primary-dark); background: rgba(55, 214, 192, .05); cursor: grab; }
.slot-actions { display: flex; gap: 4px; }
.slot-actions .icon-action { width: 29px; height: 29px; font-size: .72rem; }
.change-weapon { color: var(--color-primary); }
.unassign-player:hover { color: var(--color-danger); }
.edit-slot.has-note { color: var(--color-warning); border-color: rgba(245, 184, 75, .28); }

.slot-dialog { width: min(700px, calc(100% - 28px)); }
.slot-form-body { padding: 22px; }
.slot-context { margin-bottom: 17px; padding: 11px 13px; border-radius: 8px; color: var(--color-muted); background: var(--color-surface-deep); font-size: .8rem; }
.slot-context strong { color: var(--color-text); }
.slot-name-editor { display: inline-block; min-width: 180px; margin-top: 5px; padding: 3px 5px; border: 1px dashed transparent; border-radius: 5px; color: var(--color-text); cursor: text; }
.slot-context:hover .slot-name-editor { border-color: var(--color-line); }
.slot-name-editor:focus { border-color: var(--color-primary); background: rgba(55, 214, 192, .06); outline: 0; }
.armor-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.armor-grid label,
.note-field { color: var(--color-muted); font-size: .72rem; font-weight: 750; }
.armor-grid select,
.note-field textarea { margin-top: 6px; }
.armor-grid select { height: 43px; }
.note-field { display: block; margin-top: 17px; }
.note-field textarea { padding-block: 11px; resize: vertical; }
.empty-queue { padding: 40px 15px; color: var(--color-muted); font-size: .8rem; text-align: center; }
.weapon-assignment-dialog { width: min(720px, calc(100% - 28px)); max-height: min(82vh, 760px); }
.weapon-assignment-body { min-height: 0; display: flex; flex-direction: column; gap: 14px; padding: 20px 22px; }
.weapon-assignment-body .slot-context { margin-bottom: 0; }
.assignment-weapon-list { min-height: 220px; overflow: auto; border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-surface-deep); }
.assignment-weapon-group + .assignment-weapon-group { border-top: 1px solid var(--color-line-soft); }
.assignment-weapon-group h3 { position: sticky; top: 0; z-index: 1; margin: 0; padding: 8px 12px; color: var(--color-muted); background: rgba(13, 25, 29, .96); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.assignment-weapon-option { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 42px; padding: 7px 12px; border-top: 1px solid var(--color-line-soft); cursor: pointer; }
.assignment-weapon-option:hover { background: var(--color-surface-raised); }
.assignment-weapon-option:has(input:checked) { color: var(--color-primary); background: rgba(55, 214, 192, .08); }
.assignment-weapon-option strong { font-size: .82rem; }
.assignment-weapon-option small { color: var(--color-muted); font-size: .68rem; }
.weapon-ip { color: var(--color-muted); font-size: .68rem; font-weight: 750; }
.weapon-ip.is-available { color: var(--color-warning); }

@media (max-width: 980px) {
  .command-layout { grid-template-columns: 1fr; }
  .signup-queue { position: static; max-height: 500px; }
  .admin-stats { grid-template-columns: repeat(4, 1fr); }
  .balance-stat { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .admin-header,
  .admin-main { width: min(100% - 20px, 1520px); }
  .admin-titlebar,
  .board-toolbar { align-items: stretch; flex-direction: column; }
  .board-title-row { align-items: flex-start; flex-direction: column; gap: 8px; }
  .admin-actions { width: 100%; }
  .admin-actions .button { flex: 1; }
  .admin-stats { grid-template-columns: repeat(2, 1fr); }
  .admin-party { flex-basis: min(390px, calc(100vw - 50px)); }
  .drag-help { display: none; }
  .armor-grid { grid-template-columns: 1fr; }
}
