:root{--bg: #1a1d1f;--panel: #232628;--border: #3a3e41;--text: #e9e6df;--text-dim: #9a9d9f;--accent-amber: #e8a33d;--accent-slate: #7597ac;--font-ui: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui)}#root{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}a{color:var(--accent-amber)}.page-header{margin-bottom:2.5rem}.view-nav{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:1px solid var(--border)}.view-nav button{background:none;border:none;color:var(--text-dim);font-family:var(--font-ui);font-size:.9rem;padding:.6rem .2rem;margin-right:1.25rem;cursor:pointer;border-bottom:2px solid transparent}.view-nav button:hover{color:var(--text)}.view-nav button.active{color:var(--accent-amber);border-bottom-color:var(--accent-amber)}.page-header h1{font-size:1.75rem;font-weight:600;margin:0 0 .35rem}.page-header p{color:var(--text-dim);margin:0;max-width:60ch}.catalog-section{margin-bottom:3rem}.catalog-section h2{font-size:1rem;font-weight:600;margin:0 0 .25rem}.catalog-section .section-note{color:var(--text-dim);font-size:.85rem;margin:0 0 1rem}.spec-table{width:100%;border-collapse:collapse}.spec-table th{text-align:left;font-weight:500;font-size:.75rem;color:var(--text-dim);padding:.5rem .75rem;border-bottom:1px solid var(--border)}.spec-table th.numeric,.spec-table td.numeric{text-align:right;font-family:var(--font-mono)}.spec-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border);font-size:.9rem}.spec-table tbody tr:hover{background:var(--panel)}.spec-table .item-name{font-weight:500}.spec-table .item-manufacturer{color:var(--text-dim);font-size:.8rem;display:block}.spec-table .unmeasured{color:var(--text-dim)}.kit-badge{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;font-size:.7rem;font-family:var(--font-mono);color:var(--accent-amber);border:1px solid var(--accent-amber)}.state-message{font-family:var(--font-mono);font-size:.9rem;color:var(--text-dim);padding:1.5rem .75rem;border:1px solid var(--border)}.state-message.error{color:var(--accent-amber);border-color:var(--accent-amber)}.rack-size-picker{display:flex;align-items:center;gap:.6rem;margin-bottom:1.5rem;font-size:.9rem}.rack-size-picker select{background:var(--panel);color:var(--text);border:1px solid var(--border);font-family:var(--font-mono);padding:.3rem .5rem}.rack-elevation{border:1px solid var(--border);margin-bottom:2.5rem}.rack-row{display:flex;align-items:center;gap:.75rem;padding:0 .75rem;border-bottom:1px solid var(--border);min-height:2.5rem}.rack-row:last-child{border-bottom:none}.rack-row-label{font-family:var(--font-mono);font-size:.75rem;color:var(--text-dim);width:2.5rem;flex-shrink:0}.rack-row--filled{background:var(--panel)}.rack-row-content{flex:1;font-weight:500}.rack-row-remove{background:none;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;width:1.5rem;height:1.5rem;line-height:1;font-size:1rem}.rack-row-remove:hover{border-color:var(--accent-amber);color:var(--accent-amber)}.rack-row--empty .rack-row-hint{color:var(--text-dim);font-size:.85rem}.rack-row--eligible{cursor:pointer;background:#e8a33d14}.rack-row--eligible:hover{background:#e8a33d29}.rack-row--eligible .rack-row-hint{color:var(--accent-amber)}.shelf-picker{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.shelf-picker-item{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:.6rem .75rem;text-align:left;cursor:pointer;font-family:var(--font-ui)}.shelf-picker-item:hover{border-color:var(--accent-slate)}.shelf-picker-item--selected{border-color:var(--accent-amber);background:#e8a33d1a}.shelf-picker-spec{font-family:var(--font-mono);font-size:.8rem;color:var(--text-dim)}
