:root{--red:#c81018;--green:#16864c;--bg:#f4f4f4;--line:#e8e8e8}*{box-sizing:border-box}body{margin:0;background:#202020;font-family:system-ui,"Noto Sans Bengali",sans-serif;color:#242424}button,input,textarea{font:inherit}#app{width:min(100%,480px);min-height:100dvh;margin:auto;background:#fff;position:relative;padding-bottom:72px}header{height:86px;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:13px 18px}header button{border:0;background:transparent;color:#fff}#company{background:#fff;color:#333;border-radius:22px;padding:8px 18px;font-weight:800}header small{display:block;margin-top:4px}.head-actions{display:flex;gap:18px}.head-actions button{font-size:24px}.head-actions small{font-size:11px}.tools{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 8px;padding:28px 14px 20px;border-radius:22px 22px 0 0;margin-top:-8px;background:#fff}.tools button{border:0;background:#fff;font-size:29px;color:#e6573f}.tools span{display:block;color:#333;font-size:12px;margin-top:6px}.summary{display:grid;grid-template-columns:1fr 1fr;margin:8px 0 15px;border-radius:20px;background:#fff;box-shadow:0 2px 14px #0000000d;padding:25px 10px}.summary div{text-align:center}.summary div+div{border-left:1px solid #ddd}.summary strong,.summary span{display:block}.summary strong{font-size:24px;color:var(--red)}.summary div+div strong{color:var(--green)}.summary span{font-size:13px;margin-top:6px}.search-row{display:flex;gap:10px;padding:0 17px}.search-row label{flex:1;background:#f1f1f1;border-radius:28px;padding:10px 15px}.search-row input{border:0;outline:0;background:transparent;width:80%}.search-row button{width:44px;border:0;border-radius:50%;font-size:20px}.count{font-size:12px;color:#666;padding:0 18px}.party{display:grid;grid-template-columns:48px 1fr auto 20px;gap:10px;align-items:center;padding:13px 18px;border-bottom:1px solid var(--line);cursor:pointer}.avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#dff8df;font-weight:800}.party h3{font-size:15px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.party small{color:#777}.balance{font-weight:800;color:var(--red);font-size:14px}.balance.green{color:var(--green)}.fab{position:fixed;bottom:82px;left:calc(50% + min(240px,50vw) - 78px);width:58px;height:58px;border-radius:50%;background:var(--red);color:#fff;border:0;font-size:24px;box-shadow:0 7px 18px #0004}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,480px);height:68px;background:#fff;border-top:1px solid #ddd;display:grid;grid-template-columns:repeat(5,1fr);z-index:5}nav button{border:0;background:#fff;color:#555;font-size:21px}nav span{display:block;font-size:10px;margin-top:3px}nav .active{color:var(--red)}dialog{border:0;border-radius:18px;width:min(440px,94vw);padding:22px;box-shadow:0 18px 60px #0005}dialog::backdrop{background:#0008}dialog label{display:block;margin:14px 0;font-size:13px}dialog input,dialog textarea{display:block;width:100%;border:1px solid #ddd;border-radius:10px;padding:12px;margin-top:5px}.actions{display:flex;justify-content:flex-end;gap:8px}.actions button,.ledger-actions button{border:0;border-radius:12px;padding:12px 22px}.actions button:last-child,.ledger-actions button:last-child{background:var(--red);color:#fff}.entry-types{display:grid;grid-template-columns:1fr 1fr;gap:10px}.entry-types input{display:none}.entry-types span{display:block;border:2px solid #ddd;border-radius:12px;padding:16px;text-align:center}.entry-types input:checked+span{border-color:var(--red);background:#fff0f0}.close{float:right;border:0;background:none;font-size:25px}.ledger-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ddd}.ledger-head button{border:0;background:#fff;font-size:22px}.ledger-head div{flex:1}.ledger-head h2{margin:0}.ledger-head small{display:block}.ledger-balance{padding:18px 0;color:var(--red);font-weight:800}.tx{display:grid;grid-template-columns:1fr 110px;padding:15px 2px;border-bottom:1px solid #eee}.tx.gave .amount{color:var(--red)}.tx.received .amount{color:var(--green)}.tx .amount{text-align:right;font-weight:800}.ledger-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.status{position:fixed;top:10px;left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:9px 16px;border-radius:20px;font-size:12px;display:none;z-index:20}.status.show{display:block}@media(min-width:700px){#app{box-shadow:0 0 35px #0008}.fab{left:calc(50% + 162px)}}
