:root{--bg:#0f172a;--surface:#1e293b;--text:#f1f5f9;--text-muted:#94a3b8;--accent:#38bdf8;--danger:#f87171;--radius:12px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);min-height:100%;margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}body{flex-direction:column;min-height:100vh;display:flex}main{flex:1;width:100%;max-width:480px;margin:0 auto;padding:1.25rem 1rem 2rem}h1{font-size:1.4rem}input,button{font:inherit}input{border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);border:1px solid #334155;padding:.7rem .85rem}input:focus{outline:2px solid var(--accent);outline-offset:1px}button{border-radius:var(--radius);background:var(--accent);color:#0f172a;cursor:pointer;border:none;width:100%;padding:.75rem;font-weight:600}button:disabled{opacity:.6;cursor:not-allowed}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field label{color:var(--text-muted);font-size:.85rem}.error{color:var(--danger);margin-bottom:1rem;font-size:.9rem}.card{background:var(--surface);border-radius:var(--radius);color:inherit;margin-bottom:.75rem;padding:1rem;text-decoration:none;display:block}a.card:active{opacity:.85}.back-link{color:var(--text-muted);margin-bottom:.75rem;font-size:.9rem;text-decoration:none;display:inline-block}.row{background:var(--surface);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.7rem .9rem;display:flex}.row .info{flex-direction:column;gap:.15rem;min-width:0;display:flex}.row .info strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.muted{color:var(--text-muted);font-size:.85rem}.btn-small{flex-shrink:0;width:auto;padding:.4rem .7rem;font-size:.85rem}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.section-title{justify-content:space-between;align-items:center;margin:1.5rem 0 .5rem;display:flex}.section-title h2{margin:0;font-size:1.05rem}.section-title a{color:var(--accent);font-size:.85rem;text-decoration:none}.tabs{gap:.5rem;margin-bottom:1rem;display:flex}.tabs button{background:var(--surface);width:auto;color:var(--text-muted);flex:1;padding:.5rem;font-size:.85rem}.tabs button.active{background:var(--accent);color:#0f172a}select{border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);font:inherit;border:1px solid #334155;padding:.7rem .85rem}.card h2{margin:0 0 .25rem;font-size:1.05rem}.card p{color:var(--text-muted);margin:0;font-size:.9rem}.ticket-item{border-bottom:1px solid var(--surface);flex-direction:column;gap:.25rem;padding:.5rem 0;display:flex}.ticket-item .raw{font-size:.8rem}.ticket-item-prices{gap:.25rem;display:flex}.ticket-item-prices input{flex:1;min-width:0}.chat-suggestion{background:var(--surface);color:var(--text);text-align:left;margin-bottom:.5rem;display:block}.chat-turn{background:var(--surface);border-radius:var(--radius);margin-bottom:.75rem;margin-right:2rem;padding:.6rem .9rem}.chat-turn p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.chat-turn.chat-user{border:1px solid var(--accent);margin-left:2rem;margin-right:0}.chat-tools{margin-top:.35rem;font-size:.75rem;display:block}.chat-form{gap:.5rem;margin:1rem 0 .5rem;display:flex}.chat-form input{flex:1;min-width:0}.chat-form button{width:auto}
