:root{--color-text: #0f172a;--color-text-muted: #334155;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-border: #dbe5ef;--color-border-subtle: #e2e8f0;--color-input-bg: #f8fafc;--color-input-border: #cbd5e1;--color-accent: #1e3a8a;--color-accent-btn: #1d4ed8;--color-error: #b91c1c;--color-shadow: rgb(15 23 42 / 12%);--color-svg-bg: #f8fafc;--color-svg-stroke: #334155;--color-svg-text: #0f172a}[data-theme=dark]{--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-bg: #0f172a;--color-surface: #1e293b;--color-border: #334155;--color-border-subtle: #475569;--color-input-bg: #334155;--color-input-border: #475569;--color-accent: #93c5fd;--color-accent-btn: #3b82f6;--color-error: #f87171;--color-shadow: rgb(0 0 0 / 40%);--color-svg-bg: #334155;--color-svg-stroke: #64748b;--color-svg-text: #f1f5f9}:root{color:var(--color-text);background-color:var(--color-bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}.app-shell{position:relative}.theme-chooser-global{position:fixed;top:1rem;right:1rem;z-index:100}.container{max-width:1100px;margin:0 auto;padding:1.5rem;display:grid;gap:1rem}h1,h2,h3,p{margin:0}header{display:grid;gap:.5rem}.theme-chooser{display:flex;align-items:stretch}.theme-chooser-option{display:flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:none;border-radius:.35rem;background:var(--color-input-bg);color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.theme-chooser-option+.theme-chooser-option{margin-left:.25rem}.theme-chooser-option:hover{background:var(--color-border-subtle);color:var(--color-text)}.theme-chooser-option--active,.theme-chooser-option--active:hover{background:var(--color-accent-btn);color:#fff}header h1{color:var(--color-accent);font-size:2rem}header p{color:var(--color-text-muted);max-width:80ch}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:1rem;display:grid;gap:.75rem}.panel-header{display:flex;justify-content:space-between;align-items:center}.add-row-group{display:inline-flex;align-items:stretch}.add-row-group>button{border-top-right-radius:0;border-bottom-right-radius:0}.add-row-menu{position:relative;display:flex}.add-row-menu summary{list-style:none;min-width:2.1rem;display:flex;align-items:center;justify-content:center;padding:.4rem .8rem;border:1px solid var(--color-input-border);border-left:0;background:var(--color-input-bg);color:var(--color-text);font:inherit;font-weight:400;line-height:1;border-top-right-radius:.45rem;border-bottom-right-radius:.45rem;cursor:pointer;user-select:none}.add-row-menu summary::-webkit-details-marker{display:none}.add-row-dropdown{position:absolute;right:0;top:calc(100% + .35rem);min-width:240px;padding:.35rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);box-shadow:0 6px 18px var(--color-shadow);display:grid;gap:.25rem;z-index:3}.menu-item{text-align:left;background:var(--color-surface)}.menu-empty{margin:0;font-size:.9rem;color:var(--color-text-muted);padding:.35rem}.piece-table{width:100%;border-collapse:collapse}.piece-table th,.piece-table td{border-bottom:1px solid var(--color-border-subtle);padding:.5rem;text-align:left}input,select{width:100%;border:1px solid var(--color-input-border);border-radius:.4rem;padding:.35rem .5rem;font:inherit;background:var(--color-input-bg);color:var(--color-text)}button{border:1px solid var(--color-input-border);background:var(--color-input-bg);color:var(--color-text);border-radius:.45rem;padding:.4rem .8rem;cursor:pointer}button.primary{background:var(--color-accent-btn);color:#fff;border-color:var(--color-accent-btn)}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.settings-grid label{display:grid;gap:.35rem;font-size:.9rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.leftovers{margin:0;padding:.6rem 0 0 1rem;display:grid;gap:.3rem}details summary{font-weight:600;cursor:pointer}.stock-plan{display:grid;gap:.5rem}.stock-plan svg{border-radius:.4rem;background:var(--color-svg-bg);max-width:100%}.error{color:var(--color-error)}
