:root{--font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;--primary: #2F6B3A;--accent: #63A33C;--soft: #B7D38B;--bg: #F6F7F4;--card: #FFFFFF;--text: #333333;--muted: rgba(51, 51, 51, .7);--border: rgba(51, 51, 51, .14);--r-card: 18px;--r-btn: 14px;--r-pill: 999px;--shadow: 0 10px 26px rgba(0,0,0,.06);color-scheme:light;font-family:var(--font);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text);overflow-x:hidden}body{display:block}#root{min-height:100vh;overflow-x:hidden}input,select,textarea,button{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);max-width:100%}img{max-width:100%}a{color:inherit}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}.appShell{min-height:100vh;display:flex;flex-direction:column}.appHeader{background:var(--card);border-bottom:1px solid var(--border);padding:12px 14px;position:sticky;top:0;z-index:10}.headerRow{display:flex;align-items:center;gap:10px}.brandLogo{width:22px;height:22px;border-radius:8px;object-fit:contain;flex:0 0 auto}.headerText{display:flex;flex-direction:column;gap:2px;min-width:0}.appTitle{font-size:18px;font-weight:700;letter-spacing:.2px;line-height:1.1}.appSubtitle{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appMain{flex:1;width:100%;max-width:980px;margin:0 auto;padding:12px;padding-bottom:calc(92px + env(safe-area-inset-bottom,0px));overflow-x:hidden}.bottomNav{position:fixed;left:0;right:0;bottom:0;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px));gap:8px}.tabButton{min-width:0;padding:12px 8px;border-radius:var(--r-btn);border:1px solid var(--border);background:var(--card);color:var(--text);font-weight:700;white-space:nowrap}.tabButtonActive{background:var(--primary);color:#fff;border-color:transparent}.badge{margin-left:6px;background:var(--accent);color:#fff;border-radius:var(--r-pill);padding:2px 7px;font-size:12px;line-height:16px;display:inline-block;min-width:22px;text-align:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:700px){.grid2{grid-template-columns:1fr}}
