@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&family=Instrument+Sans:wght@400;500;600&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}:root{--g: #2D6A4F;--g2: #52B788;--gbg: #D8F3DC;--r: #B5373A;--rbg: #FDECEA;--am: #B07020;--ambg: #FEF3E2;--bl: #3A5FA0;--blbg: #E8EEF7;--ink: #111210;--paper: #F3F0EA;--card: #FFFFFF;--muted: #8C8B87;--line: rgba(17,18,16,.09);--nav-h: 68px;--safe-top: env(safe-area-inset-top, 0px);--safe-bot: env(safe-area-inset-bottom, 0px);--font-brand: "Bricolage Grotesque", sans-serif;--font-body: "Instrument Sans", sans-serif}html,body,#root{width:100%;height:100%;overflow:hidden;background:#1a1a1a}body{font-family:var(--font-body);font-size:14px;color:var(--ink)}.app{width:100%;max-width:430px;height:100dvh;margin:0 auto;background:var(--paper);position:relative;overflow:hidden;display:flex;flex-direction:column}.scroll{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;flex:1}.scroll::-webkit-scrollbar{display:none}.bnav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;height:calc(var(--nav-h) + var(--safe-bot));background:var(--card);border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-around;padding-top:8px;z-index:100}.bnav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 14px;border-radius:12px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.bnav-item.active{background:var(--gbg)}.bnav-icon{font-size:20px;line-height:1}.bnav-label{font-size:9px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.bnav-item.active .bnav-label{color:var(--g)}.fab{position:fixed;bottom:calc(var(--nav-h) + 14px);right:calc(50% - 194px);width:52px;height:52px;background:var(--g);border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;box-shadow:0 6px 22px #2d6a4f73;cursor:pointer;z-index:90;transition:transform .1s;border:none}.fab:active{transform:scale(.93)}.toast{position:fixed;top:calc(var(--safe-top) + 14px);left:50%;transform:translate(-50%) translateY(-80px);background:var(--ink);color:#fff;border-radius:14px;padding:10px 18px;font-size:13px;font-weight:600;box-shadow:0 8px 24px #00000040;z-index:999;transition:transform .3s cubic-bezier(.34,1.56,.64,1);white-space:nowrap;pointer-events:none}.toast.show{transform:translate(-50%) translateY(0)}.toast.error{background:var(--r)}.toast.success{background:var(--g)}.card{background:var(--card);border-radius:16px;box-shadow:0 1px 6px #0000000f}.btn{border:none;cursor:pointer;font-family:var(--font-brand);font-weight:700;border-radius:16px;padding:15px;width:100%;font-size:15px;transition:transform .1s,opacity .1s}.btn:active{transform:scale(.98)}.btn-green{background:var(--g);color:#fff;box-shadow:0 8px 24px #2d6a4f66}.btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--muted)}.btn-dark{background:var(--ink);color:#fff}.field{background:var(--card);border-radius:14px;padding:13px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 5px #0000000d}.field-ico{font-size:17px;flex-shrink:0}.field-body{flex:1;min-width:0}.field-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}.field-value{font-size:13px;font-weight:500;color:var(--ink)}.field-value.placeholder{color:#c0bbb0}.field-arrow{font-size:14px;color:#c0bbb0}input.field-input{width:100%;border:none;outline:none;font-size:13px;font-weight:500;color:var(--ink);background:transparent;font-family:var(--font-body)}input.field-input::placeholder{color:#c0bbb0}.sec-lbl{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}.chip-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}.chip-row::-webkit-scrollbar{display:none}.chip{display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer;flex-shrink:0;border:1.5px solid transparent;transition:all .15s;background:var(--card);border-color:var(--line);color:var(--muted)}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s}.modal-overlay.open{opacity:1;pointer-events:all}.modal-sheet{position:absolute;bottom:0;left:0;right:0;background:var(--card);border-radius:24px 24px 0 0;padding:20px 20px calc(var(--safe-bot) + 28px);transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);max-height:90dvh;overflow-y:auto}.modal-sheet::-webkit-scrollbar{display:none}.modal-overlay.open .modal-sheet{transform:translateY(0)}.modal-handle{width:40px;height:4px;background:#e0ddd7;border-radius:4px;margin:0 auto 20px}.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:16px;overflow:hidden;margin:0 0 4px}.nk{background:var(--card);padding:16px;text-align:center;font-family:var(--font-brand);font-size:20px;font-weight:700;cursor:pointer;color:var(--ink);border:none;transition:background .08s}.nk:active{background:#e9e5dd}.nk.del{font-size:16px;color:var(--muted)}.divider{height:1px;background:var(--line);margin:16px 0}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.a1{animation:fadeUp .35s .04s both}.a2{animation:fadeUp .35s .1s both}.a3{animation:fadeUp .35s .16s both}.a4{animation:fadeUp .35s .22s both}.a5{animation:fadeUp .35s .28s both}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor-blink{display:inline-block;width:3px;height:42px;background:var(--g);border-radius:2px;vertical-align:middle;margin-left:3px;animation:blink 1s ease-in-out infinite}.progress-track{height:6px;background:#ebe8e1;border-radius:6px;overflow:hidden}.progress-fill{height:100%;border-radius:6px;transition:width .6s cubic-bezier(.4,0,.2,1)}.alert-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;margin-bottom:8px}.alert-card.warning{background:var(--ambg)}.alert-card.danger{background:var(--rbg)}.alert-card.success{background:var(--gbg)}.alert-icon{font-size:20px;flex-shrink:0}.alert-body{flex:1}.alert-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:2px}.alert-text{font-size:11px;color:var(--muted)}
