:root{--acc: #f0614f;--acc-deep: #d64a38;--acc-soft: #ffede9;--acc-soft2: #fff1ed;--teal: #1f9c86;--ink: #2f2739;--ink-2: #6e6379;--muted: #8b8195;--muted-2: #a79cb2;--paper: #fff7ef;--paper-2: #fffcf8;--sand: #efe3d6;--soft: #f8f2eb;--soft-2: #f5eee6;--line: #eadfd2;--shadow: 0 2px 8px rgba(47, 39, 57, .07);--shadow-lg: 0 10px 30px rgba(47, 39, 57, .12);--r: 14px;--r-lg: 20px}*{box-sizing:border-box}body{margin:0;background:var(--sand);font-family:Nunito,system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;text-wrap:pretty}button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}input,textarea,select{font-family:inherit;color:inherit}a{color:var(--acc);text-decoration:none}.app{height:100dvh;display:flex;justify-content:center;overflow:hidden}.app__frame{width:100%;max-width:480px;height:100dvh;background:var(--paper);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 0 60px #2f273921}.topbar{flex:none;display:flex;align-items:center;gap:12px;padding:16px 20px 10px}.topbar__logo{height:26px;width:auto;display:block}.iconbtn{flex:none;width:40px;height:40px;border-radius:var(--r);background:#fff;display:grid;place-items:center;box-shadow:var(--shadow)}.iconbtn--dot:after{content:"";position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:99px;background:var(--acc);border:2px solid #fff}.screen{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:0 0 104px;scrollbar-width:none}.screen::-webkit-scrollbar{width:0;height:0}.screen__title{padding:2px 20px 14px;font:800 19px/1.2 "Baloo 2",Nunito;letter-spacing:-.4px}.screen__head{display:flex;align-items:center;gap:11px;padding:2px 20px 14px}.screen__head .screen__title{padding:0}.screen__sub{font:700 12.5px/1.4 Nunito;color:var(--muted);margin-top:2px}.backbtn{flex:none;width:38px;height:38px;border-radius:13px;background:#fff;display:grid;place-items:center;box-shadow:var(--shadow);animation:pop .18s ease both}.pad{padding:0 20px}.tabs{position:absolute;left:0;right:0;bottom:0;z-index:7;padding:10px 14px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--paper) 36%)}.tabs__bar{display:flex;gap:4px;background:#fff;border-radius:24px;padding:8px;box-shadow:0 4px 16px #2f27391a}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;height:58px;justify-content:center;border-radius:18px;font:800 12px Nunito;color:var(--muted);transition:background .18s ease}.tab.is-on{background:var(--acc-soft);color:var(--acc);box-shadow:none}.card{background:#fff;border-radius:var(--r-lg);padding:16px;box-shadow:var(--shadow);margin-bottom:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:11px}.tile{position:relative;display:flex;flex-direction:column;gap:9px;min-height:116px;padding:14px;border-radius:22px;background:#fff;box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.tile:active{transform:scale(.97);box-shadow:0 1px 4px #2f273914}.tile__icon{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center}.tile__title{font:800 14px/1.25 Nunito}.tile__sub{font:700 11.5px/1.35 Nunito;color:var(--muted);margin-top:2px}.tile__dot{position:absolute;top:13px;right:13px;width:9px;height:9px;border-radius:99px;background:var(--acc);box-shadow:0 0 0 3px #fff}@media(prefers-reduced-motion:reduce){.tile{transition:none}.tile:active{transform:none}}.card__title{font:800 15px "Baloo 2",Nunito;margin:0 0 6px}.muted{color:var(--muted);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:var(--r);width:100%;background:var(--acc);color:#fff;font:800 15px Nunito;box-shadow:0 6px 16px #f0614f47}.btn:active{background:var(--acc-deep)}.btn:disabled{opacity:.55;box-shadow:none}.btn--ghost{background:#fff;color:var(--ink);box-shadow:var(--shadow)}.field{display:grid;gap:6px;margin-bottom:14px}.field>label{font:700 12.5px Nunito;color:var(--ink-2)}.input{width:100%;padding:13px 14px;border-radius:var(--r);background:#fff;border:1.5px solid var(--line);font-size:15px}.input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}.alert{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:var(--r);background:var(--acc-soft);color:var(--acc-deep);font:600 13.5px Nunito}.modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:#1f182673;animation:lbIn .16s ease both}.modal__card{width:100%;max-width:340px;background:#fff;border-radius:24px;padding:22px 20px 18px;box-shadow:var(--shadow-lg);text-align:center;animation:pop .18s ease both}.modal__icon{width:46px;height:46px;margin:0 auto 12px;border-radius:16px;display:grid;place-items:center;background:var(--acc-soft);color:var(--acc-deep)}.modal__icon--danger{background:#fbe7e2;color:#c4402c}.modal__title{font:800 17px/1.25 "Baloo 2",Nunito;margin:0 0 6px}.modal__text{font:700 13.5px/1.55 Nunito;color:var(--muted);margin:0 0 18px}.modal__actions{display:grid;gap:8px}.modal__btn{height:50px;border-radius:16px;font:800 14px/1 Nunito}.modal__btn--yes{background:var(--acc);color:#fff;box-shadow:0 4px 12px #f0614f38}.modal__btn--yes.is-danger{background:#c4402c;box-shadow:0 4px 12px #c4402c38}.modal__btn--no{background:var(--soft);color:var(--ink)}.count{font:700 11.5px/1 Nunito;color:var(--muted-2);text-align:right;margin-top:6px}.count--warn{color:var(--acc-deep)}.finput,.ftext{width:100%;border-radius:16px;border:2px solid #eadfd2;background:#fffcf8;font:700 14px Nunito;color:var(--ink);outline:none}.finput{height:46px;padding:0 15px}.ftext{padding:14px 15px;line-height:1.5;resize:none}.finput:focus,.ftext:focus{border-color:var(--acc)}.flabel{display:block;font:800 12.5px/1.2 Nunito;color:#6e6379;margin-bottom:8px}.center{min-height:100dvh;display:grid;place-items:center;padding:24px}.spin{width:18px;height:18px;border-radius:99px;border:2.5px solid #fbd9d3;border-top-color:var(--acc);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes slideIn{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.fade{animation:fadeUp .3s ease both}.slide{animation:slideIn .28s cubic-bezier(.2,.9,.3,1) both}.pop{animation:pop .2s ease both}
