:root{--bg:#f4f5f7;--card:#fff;--text:#17181c;--muted:#6b7280;--line:#e5e7eb;--accent:#2451d6;--accent-soft:#e8edfb;--danger:#d6242e;--danger-soft:#fdecec;--ok:#14833b;--ok-soft:#e7f5ec;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.screen{max-width:480px;margin:0 auto;padding:16px 16px 84px;min-height:100vh}.h1{font-size:22px;font-weight:700;margin-bottom:4px}.sub{color:var(--muted);font-size:14px;margin-bottom:16px}.card{background:var(--card);border-radius:var(--radius);padding:14px;margin-bottom:10px;border:1px solid var(--line)}.card.urgent{border-left:4px solid var(--danger)}.card.tappable:active{background:#fafafa}.row{display:flex;align-items:center;gap:8px}.row.between{justify-content:space-between}.grow{flex:1 1}.pay{font-size:18px;font-weight:700;white-space:nowrap}.title{font-weight:600}.meta{color:var(--muted);font-size:13px;margin-top:2px}.badge{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--accent-soft);color:var(--accent)}.badge.red{background:var(--danger-soft);color:var(--danger)}.badge.green{background:var(--ok-soft);color:var(--ok)}.badge.gray{background:#eef0f3;color:var(--muted)}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.btn{display:block;width:100%;padding:13px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;font-size:16px;font-weight:600;cursor:pointer;text-align:center}.btn:disabled{opacity:.5}.btn.secondary{background:var(--accent-soft);color:var(--accent)}.btn.danger{background:var(--danger-soft);color:var(--danger)}.btn.small{width:auto;padding:8px 14px;font-size:14px}.field{margin-bottom:12px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:16px;background:var(--card);color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}.field-row{display:flex;gap:10px}.field-row .field{flex:1 1}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 14px;border-radius:20px;border:1px solid var(--line);background:var(--card);font-size:14px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);display:flex;max-width:480px;margin:0 auto}.nav a{flex:1 1;text-align:center;padding:10px 0 max(10px,env(safe-area-inset-bottom));font-size:12px;color:var(--muted)}.nav a.active{color:var(--accent);font-weight:600}.nav .ico{display:block;font-size:20px;line-height:1.2}.empty{text-align:center;color:var(--muted);padding:48px 16px}.empty,.error{font-size:14px}.error{background:var(--danger-soft);color:var(--danger);padding:10px 12px;border-radius:10px;margin-bottom:12px}.section{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:18px 0 8px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:12px 0}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;text-align:center}.stat b{display:block;font-size:20px}.stat span{font-size:12px;color:var(--muted)}.cap{text-transform:capitalize}.stars{display:flex;gap:6px;font-size:26px}.stars button{background:none;border:none;cursor:pointer;color:#d1d5db;font-size:26px}.stars button.on{color:#f59e0b}