:root{--bg: #f0f2f5;--panel: #ffffff;--text: #1a1d21;--muted: #5c6570;--primary: #2f6f4e;--primary-hover: #255a3f;--on-primary: #ffffff;--border: #d5dbe3;--danger: #b42318;--radius: 8px;font-family:Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}*{box-sizing:border-box}body{margin:0;min-height:100vh}button{cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:.35rem .7rem;font:inherit}button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}button:disabled{opacity:.6;cursor:wait}input{font:inherit;border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem;width:100%}.app{max-width:1100px;margin:0 auto;padding:1.25rem}.top h1{margin:0 0 .25rem;font-size:1.5rem}.subtitle{margin:0 0 1rem;color:var(--muted);font-size:.95rem}.columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;min-height:70vh}@media(max-width:800px){.columns{grid-template-columns:1fr}}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;min-height:60vh;padding:.75rem}.panel-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.panel-header h2{margin:0;font-size:1.1rem}.add-form{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-bottom:.5rem;align-items:start}.add-form .hint,.add-form .error{grid-column:1 / -1;margin:0}.add-form button[type=submit]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.add-form button[type=submit]:hover:not(:disabled){background:var(--primary-hover);color:var(--on-primary)}.list{flex:1;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:.25rem}.row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;padding:.4rem .5rem;border-bottom:1px solid var(--border)}.row.sortable{grid-template-columns:auto 1fr auto}.row:last-child{border-bottom:none}.handle{cursor:grab;padding:.2rem .4rem;color:var(--muted)}.hint{color:var(--muted);font-size:.85rem;margin:.35rem 0}.error{color:var(--danger);font-size:.85rem;margin:.35rem 0}.sentinel{height:1px}
