:root{--text:#4b5563;--text-h:#111827;--text-muted:#6b7280;--bg:#f9fafb;--surface:#fff;--surface-muted:#f3f4f6;--border:#e5e7eb;--accent:#7c3aed;--accent-bg:#7c3aed1a;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--text:#d1d5db;--text-h:#f9fafb;--text-muted:#9ca3af;--bg:#111827;--surface:#1f2937;--surface-muted:#374151;--border:#374151;--accent:#a78bfa;--accent-bg:#a78bfa26}}*,:before,:after{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100svh}button{font:inherit}.layout{flex-direction:column;min-height:100svh;display:flex}.layout__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.layout__title{color:var(--text-h);margin:0;font-size:1.25rem;font-weight:600}.layout__nav{gap:.5rem;display:flex}.layout__nav-link{color:var(--text);border-radius:6px;padding:.4rem .85rem;font-size:.95rem;text-decoration:none}.layout__nav-link:hover{background:var(--surface-muted)}.layout__nav-link--active{background:var(--accent-bg);color:var(--accent);font-weight:500}.layout__main{flex:1;min-height:0}.admin-page{flex-direction:column;gap:2rem;max-width:720px;padding:1.5rem;display:flex}.admin-page__section h2{color:var(--text-h);margin:0 0 .5rem;font-size:1.1rem}.admin-page__hint{color:var(--text-muted);margin:0 0 1rem;font-size:.95rem}.page-status{color:var(--text-muted);padding:1.5rem}.mapping-form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field__label{color:var(--text-h);font-size:.9rem;font-weight:500}.field__input--short{max-width:6rem}.field__input,.field__textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-h);font:inherit;border-radius:6px;padding:.6rem .75rem}.field__textarea{resize:vertical;min-height:8rem}.mapping-form__actions{gap:.5rem;display:flex}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text-h);font:inherit;cursor:pointer;border-radius:6px;padding:.5rem .9rem}.btn:hover{background:var(--surface-muted)}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover{filter:brightness(1.05)}.btn--small{padding:.3rem .6rem;font-size:.85rem}.btn--danger{color:#b42318;border-color:#fecdca}.mapping-list{flex-direction:column;gap:.75rem;display:flex}.mapping-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.85rem 1rem}.mapping-card__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.mapping-card__title{color:var(--text-h);align-items:center;gap:.5rem;margin:0;font-size:1rem;display:flex}.mapping-card__key{border:1px solid var(--border);border-radius:4px;justify-content:center;align-items:center;min-width:1.75rem;padding:.15rem .4rem;font-size:.85rem;font-weight:600;display:inline-flex}.mapping-card__actions{gap:.35rem;display:flex}.mapping-card__outcomes{color:var(--text-muted);margin:0;padding-left:1.2rem;font-size:.9rem}.user-page{flex-direction:column;gap:1rem;min-height:calc(100svh - 57px);padding:1rem;display:flex}.user-page--empty{justify-content:center;align-items:center}.user-page__hero{border:2px solid var(--border);background:var(--surface);border-radius:4px;flex:0 0 40%;justify-content:center;align-items:center;min-height:10rem;display:flex}.user-page__hero-placeholder{color:var(--text-muted);font-size:1rem}.user-page__rows{flex-direction:column;flex:1;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.user-page__row{align-items:stretch;gap:.75rem;min-height:3rem;display:flex}.cost-btn{border:2px solid var(--border);background:var(--surface);width:3rem;height:3rem;color:var(--text-h);cursor:pointer;border-radius:4px;flex:0 0 3rem;justify-content:center;align-items:center;padding:0;font-size:.9rem;font-weight:600;display:flex}.cost-btn:hover{background:var(--surface-muted)}.cost-btn:active{background:var(--accent-bg);border-color:var(--accent)}.user-page__outcome{border:2px solid var(--border);background:var(--surface);min-width:0;color:var(--text-h);font:inherit;border-radius:4px;flex:1;align-items:center;padding:.6rem .85rem;font-size:1rem;display:flex}
