:root{--ink:#17231d;--muted:#647068;--green:#176b45;--green2:#258f60;--mint:#eaf6ef;--line:#dce7df;--paper:#fbfdfb;--cream:#f4f1e8;--warn:#fff4cf}*{box-sizing:border-box}body{margin:0;background:linear-gradient(135deg,#f2f7f3,#f8f4eb);color:var(--ink);font-family:Poppins,sans-serif}.shell{max-width:880px;margin:32px auto;padding:0 18px 64px}.hero{display:flex;align-items:center;gap:18px;background:#153d2d;color:white;padding:26px 28px;border-radius:24px;box-shadow:0 18px 45px #173b2922}.brandmark{width:58px;height:58px;border-radius:18px;background:#d7f2df;color:#153d2d;display:grid;place-items:center;font-weight:800}.hero h1{margin:2px 0;font-size:28px}.hero p{margin:0;color:#d1e3d8}.eyebrow{font-size:11px!important;letter-spacing:.16em;font-weight:700}.draft-state{margin-left:auto;font-size:12px;background:#ffffff18;padding:8px 12px;border-radius:999px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.step{border:0;background:#e4ebe6;color:#66736a;border-radius:14px;padding:10px;font:600 12px Poppins;display:flex;align-items:center;justify-content:center;gap:7px}.step span{width:24px;height:24px;border-radius:50%;background:#fff;display:grid;place-items:center}.step.active{background:#ccebd8;color:#135c3c}.panel{display:none;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 12px 35px #173b290d}.panel.active{display:block}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.section-title>span{background:#dff2e6;color:var(--green);font-weight:700;padding:7px 9px;border-radius:10px}.section-title h2{font-size:21px;margin:0}.section-title p{margin:3px 0;color:var(--muted);font-size:13px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#455148}input,select,textarea{width:100%;border:1px solid #cfdbd3;background:white;border-radius:12px;padding:12px 13px;font:500 13px Poppins;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green2);box-shadow:0 0 0 3px #258f6015}.expense-head{display:flex;align-items:center;justify-content:space-between;margin:24px 0 10px}.expense-head h3{font-size:15px}.ghost{border:0;background:var(--mint);color:var(--green);padding:8px 12px;border-radius:10px;font:600 12px Poppins}.expense-row{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 36px;gap:8px;margin-bottom:8px}.remove{border:0;border-radius:10px;background:#f6e6e3;color:#a54435;font-size:20px}.compact{margin-top:18px}.upload{border:2px dashed #b8cebf;border-radius:18px;padding:34px;text-align:center;align-items:center;background:#f7fbf8}.upload input{display:none}.upload span{font-weight:400;color:var(--muted)}#preview img{max-width:100%;max-height:330px;margin-top:16px;border-radius:16px}.summary-table{display:grid;grid-template-columns:1fr 1.4fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:18px}.summary-table div{background:white;padding:11px 13px;font-size:12px}.summary-table div:nth-child(odd){color:var(--muted)}.result-card{background:#153d2d;color:white;border-radius:18px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.result-card div{display:flex;flex-direction:column}.result-card span{font-size:11px;color:#c9dbd0}.result-card strong{font-size:17px}.confirm{flex-direction:row;align-items:center;margin:18px 0}.confirm input{width:18px}.submit,.primary,.secondary{border:0;border-radius:12px;padding:12px 18px;font:600 13px Poppins}.submit,.primary{background:var(--green);color:white}.submit{width:100%;font-size:14px}.submit:disabled{opacity:.4}.secondary{background:#e8ede9;color:#354139}.actions{display:flex;justify-content:space-between;margin-top:14px}.connection-note{text-align:center;color:var(--muted);font-size:11px}.toast{background:var(--warn);padding:12px;border-radius:12px;font-size:12px;margin-top:10px}@media(max-width:650px){.shell{margin:12px auto}.hero{padding:20px}.draft-state{display:none}.steps{gap:5px}.step{font-size:0}.step span{font-size:12px}.panel{padding:20px}.grid.two,.grid.three{grid-template-columns:1fr}.expense-row{grid-template-columns:1fr 1fr}.expense-row .expense-type{grid-column:1/-1}.result-card{grid-template-columns:1fr}.hero h1{font-size:22px}}
