*{box-sizing:border-box;margin:0;padding:0}html{background-color:#080828}body{font-family:system-ui,-apple-system,sans-serif;background-color:#080828;background-image:radial-gradient(ellipse 35% 40% at 50% 42%,rgba(80,65,180,.35),transparent),radial-gradient(ellipse 60% 65% at 50% 48%,rgba(40,30,120,.4),transparent),radial-gradient(ellipse 85% 85% at 50% 50%,rgba(15,12,60,.3),transparent);min-height:100vh;color:#d8d4e4;padding:2rem}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;will-change:opacity;transform:translateZ(0)}body:before{background:radial-gradient(ellipse at 40% 40%,rgba(100,80,200,.12),transparent 65%);animation:breathe 35s cubic-bezier(.45,.05,.55,.95) infinite alternate}body:after{background:radial-gradient(ellipse at 60% 55%,rgba(50,40,140,.1),transparent 65%);animation:breathe 35s cubic-bezier(.45,.05,.55,.95) infinite alternate-reverse}@keyframes breathe{0%{opacity:.3}to{opacity:.9}}@media (prefers-reduced-motion: reduce){body:before,body:after{animation:none;will-change:auto;opacity:.6}}.container{max-width:1400px;margin:0 auto}h1{text-align:center;margin-bottom:2rem;color:#d8d4e466;font-weight:500;font-size:.75rem;letter-spacing:.35em;text-transform:uppercase;padding-top:40px}.upload-section{background:#080828b3;border:1px dashed rgba(180,170,255,.2);border-radius:0;padding:2rem;text-align:center;margin-bottom:1.5rem;transition:border-color .3s,background-color .3s}.upload-section:hover{border-color:#b4aaff66;background:#080828d9}.upload-section input[type=file]{display:none}.upload-btn{background:transparent;color:#c8a832;padding:1rem 2rem;border:1px solid rgba(200,168,50,.4);border-radius:0;font-size:.9rem;font-weight:500;letter-spacing:.05em;cursor:pointer;transition:border-color .3s,background-color .3s}.upload-btn:hover{border-color:#c8a832;background:#c8a83214}.tabs{display:flex;gap:1px;margin-bottom:1px}.tab{padding:.75rem 1.5rem;background:#08082880;border:1px solid rgba(180,170,255,.1);border-bottom:none;border-radius:0;color:#d8d4e480;cursor:pointer;font-size:.85rem;letter-spacing:.03em;transition:border-color .3s,background-color .3s,color .3s}.tab.active{background:#080828b3;color:#d8d4e4;border-color:#b4aaff33}.tab:hover:not(.active){background:#08082899;color:#d8d4e4b3}.tab.clear-btn{margin-left:auto;background:#b4323226;color:#f87171b3;border-color:#b4323233}.tab.clear-btn:hover{background:#b4323240;color:#f87171}.raw-text-panel{background:#080828b3;border:1px solid rgba(180,170,255,.1);border-top:none;border-radius:0;padding:1rem;margin-bottom:1.5rem;display:none}.raw-text-panel.visible{display:block}.raw-text-panel textarea{width:100%;height:200px;background:#0000004d;border:1px solid rgba(180,170,255,.15);border-radius:0;color:#d8d4e4;font-family:SF Mono,Fira Code,monospace;font-size:.85rem;padding:1rem;resize:vertical}.raw-text-panel textarea:focus{outline:none;border-color:#b4aaff66}.parse-options{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap;align-items:center}.parse-options label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#d8d4e4b3}.parse-options select,.parse-options input[type=text]{background:#080828cc;border:1px solid rgba(180,170,255,.2);border-radius:0;color:#d8d4e4;padding:.5rem;font-size:.9rem}.parse-options button{background:transparent;color:#c8a832;border:1px solid rgba(200,168,50,.4);padding:.5rem 1rem;border-radius:0;cursor:pointer;font-size:.9rem;transition:border-color .3s,background-color .3s}.parse-options button:hover{border-color:#c8a832;background:#c8a83214}.manual-entry{background:#080828b3;border:1px solid rgba(180,170,255,.1);border-radius:0;padding:1rem;margin-bottom:1.5rem}.manual-entry h3{font-size:.85rem;font-weight:500;margin-bottom:.75rem;color:#d8d4e499;letter-spacing:.03em}.manual-entry-form{display:flex;gap:.75rem;flex-wrap:wrap}.manual-entry-form input{background:#0003;border:1px solid rgba(180,170,255,.15);border-radius:0;color:#d8d4e4;padding:.6rem .75rem;font-size:.9rem}.manual-entry-form input::placeholder{color:#d8d4e44d}.manual-entry-form input:focus{outline:none;border-color:#b4aaff66}.manual-entry-form input[name=name]{flex:1;min-width:200px}.manual-entry-form input[name=price]{width:120px}.manual-entry-form button{background:transparent;color:#34d399;border:1px solid rgba(52,211,153,.4);padding:.6rem 1.25rem;border-radius:0;cursor:pointer;font-size:.9rem;transition:border-color .3s,background-color .3s}.manual-entry-form button:hover{border-color:#34d399;background:#34d39914}.columns{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:1px}.column{background:#080828b3;border:1px solid rgba(180,170,255,.1);border-radius:0;padding:1.25rem;min-height:350px}.column h2{font-size:.85rem;font-weight:500;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(180,170,255,.1);display:flex;justify-content:space-between;align-items:center}.column.source h2{color:#a78bfa}.column.fi h2{color:#34d399}.column.cozzy h2{color:#60a5fa}.column.joint h2{color:#c8a832}.column.misc h2{color:#f472b6}.item-list{list-style:none;max-height:280px;overflow-y:auto}.item-list li{display:flex;align-items:center;padding:.75rem;margin-bottom:1px;background:#ffffff08;border-radius:0;transition:background .2s}.item-list li:hover{background:#ffffff0f}.item-list li.auto-selected{background:#b4aaff1a;border:1px solid rgba(180,170,255,.25)}.item-list li input[type=checkbox]{margin-right:.75rem;width:18px;height:18px;cursor:pointer;accent-color:#c8a832;flex-shrink:0}.item-list li .item-name{flex:1;font-size:.9rem;word-break:break-word}.item-list li .item-price{font-weight:600;font-family:SF Mono,Fira Code,monospace;margin-left:.5rem;flex-shrink:0}.action-buttons{display:flex;gap:1px;margin-top:1rem}.action-btn{flex:1;min-width:0;padding:.75rem .5rem;border:1px solid;border-radius:0;font-size:.8rem;font-weight:500;letter-spacing:.03em;cursor:pointer;transition:border-color .3s,background-color .3s;background:transparent}.action-btn.fi{color:#34d399;border-color:#34d3994d}.action-btn.fi:hover{border-color:#34d399;background:#34d39914}.action-btn.cozzy{color:#60a5fa;border-color:#60a5fa4d}.action-btn.cozzy:hover{border-color:#60a5fa;background:#60a5fa14}.action-btn.joint{color:#c8a832;border-color:#c8a8324d}.action-btn.joint:hover{border-color:#c8a832;background:#c8a83214}.action-btn.misc{color:#f472b6;border-color:#f472b64d}.action-btn.misc:hover{border-color:#f472b6;background:#f472b614}.action-btn:hover{transform:none}.action-btn:disabled{opacity:.3;cursor:not-allowed}.total-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(180,170,255,.1)}.total-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.95rem;color:#d8d4e499}.total-row.grand{font-size:1.1rem;font-weight:500;padding-top:.75rem;border-top:1px solid rgba(180,170,255,.1);margin-top:.5rem;color:#d8d4e4}.total-row .amount{font-family:SF Mono,Fira Code,monospace}.fi .total-row .amount{color:#34d399}.cozzy .total-row .amount{color:#60a5fa}.joint .total-row .amount{color:#c8a832}.misc .total-row .amount{color:#f472b6}.report-btn{width:100%;margin-top:1rem;padding:.75rem;background:transparent;border:1px solid rgba(180,170,255,.15);border-radius:0;color:#d8d4e480;font-size:.85rem;letter-spacing:.03em;cursor:pointer;transition:border-color .3s,color .3s,background-color .3s}.report-btn:hover{border-color:#b4aaff59;color:#d8d4e4;background:#08082880}.remove-btn{background:transparent;color:#f8717199;border:1px solid rgba(180,50,50,.2);width:24px;height:24px;border-radius:0;cursor:pointer;margin-left:.5rem;font-size:1rem;line-height:1;transition:border-color .2s,color .2s;flex-shrink:0}.remove-btn:hover{border-color:#f8717180;color:#f87171}.edit-btn{background:transparent;color:#b4aaff80;border:1px solid rgba(180,170,255,.15);width:24px;height:24px;border-radius:0;cursor:pointer;margin-left:.5rem;font-size:.8rem;line-height:1;transition:border-color .2s,color .2s;flex-shrink:0}.edit-btn:hover{border-color:#b4aaff66;color:#b4aaff}.empty-state{text-align:center;padding:2rem;color:#d8d4e44d;font-style:italic}.badge{background:#b4aaff1a;padding:.25rem .75rem;border-radius:0;font-size:.75rem;color:#d8d4e480}.modal-overlay{display:none;position:fixed;inset:0;background:#000000b3;justify-content:center;align-items:center;z-index:1000}.modal-overlay.visible{display:flex}.modal{background:#080828f2;border:1px solid rgba(180,170,255,.2);border-radius:0;padding:1.5rem;width:90%;max-width:400px}.modal h3{margin-bottom:1rem;font-weight:500;font-size:.9rem;letter-spacing:.03em;color:#d8d4e4b3}.modal input{width:100%;background:#0000004d;border:1px solid rgba(180,170,255,.15);border-radius:0;color:#d8d4e4;padding:.75rem;font-size:1rem;margin-bottom:.75rem}.modal input:focus{outline:none;border-color:#b4aaff66}.modal-buttons{display:flex;gap:1px;margin-top:1rem}.modal-buttons button{flex:1;padding:.75rem;border:1px solid;border-radius:0;cursor:pointer;font-size:.9rem;background:transparent;transition:border-color .3s,background-color .3s}.modal-buttons .save{color:#c8a832;border-color:#c8a83266}.modal-buttons .save:hover{border-color:#c8a832;background:#c8a83214}.modal-buttons .cancel{color:#d8d4e480;border-color:#b4aaff26}.modal-buttons .cancel:hover{border-color:#b4aaff4d;color:#d8d4e4}.select-all-row{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;margin-bottom:.5rem;font-size:.85rem;color:#d8d4e480}.select-all-row input{width:18px;height:18px;cursor:pointer;accent-color:#c8a832}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid #c8a832;outline-offset:2px}@media (prefers-reduced-motion: reduce){.upload-section,.tab,.action-btn,.report-btn,.remove-btn,.edit-btn,.modal-buttons button,.parse-options button,.manual-entry-form button,.upload-btn{transition:none}}@media (max-width: 1400px){.columns{grid-template-columns:1fr 1fr 1fr}}@media (max-width: 900px){.columns{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.columns{grid-template-columns:1fr}}
