/*
 * DayZ cfgspawnabletypes generator styles (gst.css)
 * https://killfeed.co/dayz/tools/generate-spawnable-types
 * Legion Killfeed
 */

    :root {
      --panel-bg: #171a1e;
      --card-bg: #20242a;
      --border-color: #2f3741;
      --text-primary: #e8edf5;
      --text-secondary: #b3c0d1;
      --text-muted: #8f9aad;
      --accent: #0d6efd;
      --drop-hover: rgba(13, 110, 253, 0.15);
    }

    .tool-container {
      color: var(--text-primary);
    }

    .tool-content {
      height: 100vh;
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }

    .split-container {
      display: flex;
      flex: 1;
      min-height: 0;
      overflow: hidden;
      gap: 0;
    }

    .left-panel {
      width: 330px;
      min-width: 250px;
      max-width: 420px;
      background: var(--panel-bg);
      border-right: 1px solid var(--border-color);
      display: flex;
      flex-direction: column;
      min-height: 0;
      overflow: hidden;
    }

    .panel-section {
      padding: 0.75rem;
      border-bottom: 1px solid var(--border-color);
      flex-shrink: 0;
    }
    .left-tabs-header {
      padding-top: 0.55rem;
      padding-bottom: 0.55rem;
    }
    .left-tabs {
      display: flex;
      gap: 0.35rem;
      flex-wrap: wrap;
    }
    .left-tabs .btn.active {
      background: var(--accent);
      border-color: var(--accent);
      color: #fff;
    }
    .left-tab-content {
      display: none;
      flex: 1;
      min-height: 0;
    }
    .left-tab-content.active {
      display: flex;
      flex-direction: column;
    }
    #leftTabOptions {
      overflow-y: auto;
      overflow-x: hidden;
    }
    #leftTabOptions .panel-section {
      border-bottom: 0;
    }

    .catalog-scroll {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      overflow-x: hidden;
      padding: 0.6rem;
    }

    .right-panel {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-height: 0;
      overflow: hidden;
      padding: 0.6rem;
      gap: 0.45rem;
      background: #121518;
    }

    .builder-toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.7rem;
      flex-wrap: wrap;
    }
    .toolbar-actions {
      display: flex;
      align-items: center;
      gap: 0.35rem;
      flex-wrap: wrap;
    }
    .actions-inline {
      display: flex;
      align-items: center;
      gap: 0.35rem;
      flex-wrap: wrap;
    }
    .actions-mobile {
      display: none;
    }
    .builder-toolbar .btn-group {
      position: relative;
    }
    #actionsMenu {
      position: absolute;
      top: calc(100% + 4px);
      right: 0;
      left: auto;
      min-width: 220px;
      z-index: 1200;
      background: #161b22;
      border: 1px solid var(--border-color);
      border-radius: 8px;
      padding: 0.25rem 0;
    }
    #actionsMenu:not(.show) {
      display: none;
    }
    #actionsMenu.show {
      display: block;
    }
    #actionsMenu .dropdown-item {
      color: var(--text-primary);
    }
    #actionsMenu .dropdown-item:hover,
    #actionsMenu .dropdown-item:focus {
      background: rgba(13, 110, 253, 0.15);
      color: var(--text-primary);
    }
    #actionsMenu .dropdown-divider {
      border-color: var(--border-color);
      margin: 0.25rem 0;
    }

    .builder-grid {
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      gap: 0.55rem;
      min-height: 0;
      flex: 1;
    }

    .types-panel,
    .editor-panel {
      background: var(--card-bg);
      border: 1px solid var(--border-color);
      border-radius: 10px;
    }

    .types-panel {
      display: flex;
      flex-direction: column;
      min-height: 0;
    }

    .types-scroll {
      flex: 1;
      min-height: 0;
      overflow-y: auto;
      overflow-x: hidden;
      max-height: none;
    }

    .editor-panel {
      overflow-y: auto;
      overflow-x: hidden;
    }

    .editor-tabs {
      display: flex;
      gap: 0.35rem;
      flex-wrap: wrap;
    }
    .editor-capacity {
      margin-left: auto;
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
    }
    .editor-capacity label {
      white-space: nowrap;
    }
    .editor-capacity .form-select {
      min-width: 132px;
      max-width: 170px;
    }

    .editor-tabs .btn.active {
      background: var(--accent);
      border-color: var(--accent);
      color: #fff;
    }

    .editor-tab-content {
      display: none;
    }

    .editor-tab-content.active {
      display: block;
    }

    .tool-container .text-secondary,
    .tool-container .small,
    .tool-container .form-label {
      color: var(--text-secondary) !important;
    }

    .tool-container .form-control,
    .tool-container .form-select,
    .tool-container textarea {
      color: var(--text-primary) !important;
      background: #0f1318 !important;
      border-color: var(--border-color) !important;
    }

    #outputXml {
      text-align: left !important;
      white-space: pre !important;
      overflow: auto;
      resize: vertical;
      tab-size: 2;
    }

    .tool-container .form-control::placeholder {
      color: var(--text-muted) !important;
      opacity: 1;
    }

    .catalog-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.32rem;
      align-content: start;
    }

    #catalogList .dnd-item-card {
      background: var(--card-bg);
      border: 1px solid var(--border-color);
      min-height: 40px;
      padding: 0.22rem 0.35rem;
      gap: 0.28rem;
      border-radius: 6px;
    }

    #catalogList .dnd-item-card:hover {
      border-color: var(--accent);
      background: rgba(13, 110, 253, 0.08);
    }

    #catalogList .dnd-item-img {
      width: 24px;
      height: 24px;
      border-radius: 4px;
      background: rgba(0, 0, 0, 0.25);
    }

    #catalogList .dnd-item-label {
      color: var(--text-primary);
      font-size: 0.72rem;
      line-height: 1.1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .dnd-dropzone {
      min-height: 42px;
      border: 1px dashed var(--border-color);
      border-radius: 8px;
      background: rgba(255, 255, 255, 0.03);
      color: var(--text-secondary);
      font-size: 0.72rem;
    }

    .dnd-dropzone.dnd-over {
      border-color: var(--accent);
      background: var(--drop-hover);
      color: var(--text-primary);
    }

    .set-drop-areas {
      background: var(--card-bg);
      border: 1px solid var(--border-color);
      border-radius: 10px;
      flex-shrink: 0;
    }

    .set-drop-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0.4rem;
    }

    .set-zone {
      min-height: 40px;
      height: 80px;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-weight: 600;
      color: var(--text-primary);
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }

    #status.alert-warning,
    #status.alert-danger,
    #status.alert-success,
    #status.alert-info {
      color: #0f1114;
      font-weight: 600;
    }

    .type-count { font-size: 0.72rem; opacity: 0.8; }
    .types-category {
      font-size: 0.68rem;
      letter-spacing: 0.05em;
      opacity: 0.9;
      margin: 0.4rem 0 0.35rem 0;
    }
    .recommend-list { border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(0,0,0,.2); padding: 8px; max-height: 180px; overflow: auto; }
    .recommend-pill { margin: 0 6px 6px 0; }
    .chip-remove { border: 0; background: transparent; color: rgba(255,255,255,.9); padding: 0 6px; cursor: pointer; }
    .chip-meta { font-size: 0.72rem; opacity: 0.78; white-space: nowrap; }
    .damage-input { max-width: 94px; }
    .chip-parent-link {
      cursor: pointer;
      border-color: rgba(13,110,253,0.45);
    }
    .chip-parent-link:hover {
      background: rgba(13,110,253,0.18);
    }

    @media (max-width: 1199.98px) {
      .builder-grid {
        grid-template-columns: 260px minmax(0, 1fr);
      }
    }

    @media (max-width: 991.98px) {
      .actions-inline {
        display: none;
      }
      .actions-mobile {
        display: inline-block;
      }
      .editor-capacity {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
      }

      .split-container {
        flex-direction: column;
      }

      .left-panel {
        width: 100%;
        min-width: 0;
        max-width: none;
        border-right: 0;
        border-bottom: 1px solid var(--border-color);
        max-height: 42vh;
      }

      .right-panel {
        min-height: 58vh;
      }

      .builder-grid {
        grid-template-columns: 1fr;
      }

      .catalog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }
