:root{color-scheme:light;font-family:Segoe UI,system-ui,sans-serif;line-height:1.4;--bg: #f4f1ea;--ink: #1c1917;--accent: #0f766e;--warn: #b45309;--danger: #b91c1c;--card: #fffef9;--border: #d6d3d1}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#ecfdf5 0%,var(--bg) 40%);color:var(--ink);min-height:100vh}main{max-width:720px;margin:0 auto;padding:1rem 1rem 4rem}h1{font-size:1.35rem;margin:0 0 .25rem}.sub{color:#57534e;margin-bottom:1rem;font-size:.95rem}.alert{background:#fff7ed;border-left:4px solid var(--warn);padding:.75rem 1rem;margin:.5rem 0}.alert.danger{background:#fef2f2;border-left-color:var(--danger)}.line{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.85rem;margin:.6rem 0}.line.dirty{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.grow{flex:1;min-width:140px}label{display:block;font-size:.8rem;color:#57534e;margin-bottom:.2rem}input[type=number],input[type=text],select,textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--border);border-radius:8px;font:inherit;background:#fff}.kinds{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.kind{border:1px solid var(--border);background:#fff;border-radius:999px;padding:.35rem .7rem;font-size:.8rem;cursor:pointer}.kind.active{background:var(--accent);border-color:var(--accent);color:#fff}.actions{position:sticky;bottom:0;background:#f4f1eaf2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:1px solid var(--border);padding:.75rem 1rem;display:flex;gap:.5rem;flex-wrap:wrap}button.primary,a.primary{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.75rem 1rem;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:#fff;border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.meta{font-size:.85rem;color:#78716c}.add-panel{border:1px dashed var(--border);border-radius:10px;padding:.85rem;margin:1rem 0;background:#fafaf9}.suggest{list-style:none;margin:.35rem 0 0;padding:0;border:1px solid var(--border);border-radius:8px;background:#fff;max-height:200px;overflow:auto}.suggest li button{width:100%;text-align:left;border:none;background:transparent;padding:.55rem .7rem;font:inherit;cursor:pointer}.suggest li button:hover{background:#ecfdf5}
