--- START OF FILE forms.css ---

/* GLOBAL INPUTS */
input, select { width: 100%; background-color: #050505; border: 1px solid var(--card-border); padding: 8px; border-radius: 6px; color: #fff; transition: 0.3s; font-size: 0.85rem; }
input:focus, select:focus { border-color: var(--accent-start); outline: none; }
select { appearance: none; background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22white%22%3E%3Cpath%20d%3D%22M7%2010l5%205%205-5z%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: right 10px center; background-size: 20px; padding-right: 30px; cursor: pointer; }
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
input[type=number] { -moz-appearance: textfield; }

/* TOGGLES */
.nav-toggle-label { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.05); border: 1px solid #333; padding: 6px 15px; border-radius: 6px; cursor: pointer; color: #888; font-weight: 700; text-transform: uppercase; font-size: 0.75rem; user-select: none; transition: 0.3s; margin-left: 10px; }
.nav-toggle-label input { display: none; }
.nav-toggle-label:hover { border-color: #666; color: #fff; }
.nav-toggle-label.is-checked { background: rgba(16, 185, 129, 0.1); border-color: var(--success); color: var(--success); box-shadow: 0 0 10px rgba(16, 185, 129, 0.2); }

/* NEW: DISABLED STATE FOR EMPTY INVENTORY */
.nav-toggle-label.disabled {
    opacity: 0.5;
    pointer-events: none;
    filter: grayscale(100%);
    cursor: not-allowed;
    background: #111;
    border-color: #222;
}

.toggle-wrapper { display: flex; align-items: center; gap: 8px; }
.toggle-wrapper input { display: none; }
.toggle-wrapper span { 
    color: #666; 
    font-weight: 700; 
    text-transform: uppercase; 
    font-size: 0.75rem; 
    white-space: nowrap; /* ADD THIS: Prevents the 2-line break */
    flex-shrink: 0;      /* ADD THIS: Stops the text from being squeezed */
}

.mini-switch { position: relative; width: 30px; height: 16px; background: #333; border-radius: 16px; cursor: pointer; transition: 0.3s; }
.mini-switch::after { content: ''; position: absolute; top: 2px; left: 2px; width: 12px; height: 12px; background: #fff; border-radius: 50%; transition: 0.3s; }
input[type="checkbox"]:checked + .mini-switch { background: var(--accent-start); }
input[type="checkbox"]:checked + .mini-switch::after { transform: translateX(14px); }

/* CUSTOM INPUTS */
.c-control-group { display: flex; flex-direction: column; gap: 4px; }
.c-control-group label { font-size: 0.6rem; color: #888; font-weight: 800; text-transform: uppercase; }
.c-input { background: #000; border: 1px solid #333; color: #fff; padding: 6px 10px; border-radius: 6px; font-family: 'Consolas', monospace; font-size: 0.85rem; min-width: 60px; }
.c-input:focus { border-color: var(--accent-start); outline: none; }
select.c-input { cursor: pointer; }