:root {
  --bg: #1a1a1a; --surface: #242424; --surface2: #2e2e2e; --border: #3a3a3a;
  --text: #e0e0e0; --text2: #999; --accent: #c9a84c; --accent2: #a07830;
  --positive: #5a9; --negative: #c55; --highlight: #333;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Segoe UI', system-ui, sans-serif; background: var(--bg); color: var(--text); font-size: 14px; line-height: 1.4; -webkit-text-size-adjust: 100%; }

.section { background: var(--surface); border: 1px solid var(--border); border-radius: 6px; margin-bottom: 8px; overflow: visible; }

label { display: block; font-size: 12px; color: var(--text2); margin: 8px 0 3px; }
input, select, textarea { width: 100%; background: var(--surface2); border: 1px solid var(--border); color: var(--text); padding: 8px 10px; border-radius: 4px; font-size: 14px; font-family: inherit; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--accent); }
textarea { min-height: 50px; resize: vertical; }
input[type="number"] { -moz-appearance: textfield; }
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; }

button, .btn { background: var(--surface2); border: 1px solid var(--border); color: var(--text); padding: 6px 12px; border-radius: 4px; cursor: pointer; font-size: 12px; font-family: inherit; touch-action: manipulation; }
button:active { background: var(--accent2); }
button.primary { background: var(--accent2); border-color: var(--accent); color: #fff; }
button.small { padding: 4px 8px; font-size: 11px; min-width: 32px; }
button.icon-btn { min-width: auto; padding: 3px 7px; font-size: 14px; line-height: 1; }
button.icon-btn.danger:hover { color: var(--negative); border-color: var(--negative); }
button:disabled { opacity: 0.4; cursor: not-allowed; }

.dim { color: var(--text2); }
.small { font-size: 11px; }
.accent { color: var(--accent); }
