@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap");*{box-sizing:border-box}:root{--bg:#f7f9fa;--surface:#fff;--border:#e2e8ed;--ink:#1b2733;--muted:#5c7080;--faint:#8a98a5;--primary:#2c5f6f;--success:#3f7d5c;--warning:#c9752b;--danger:#b3412e}body,html{padding:0;margin:0;background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif}.mono{font-family:IBM Plex Mono,monospace}a{color:inherit}button,input,select{font-family:inherit;font-size:14px}button{cursor:pointer}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}.btn-primary{background:var(--ink);color:#fff;border:none;border-radius:8px}.btn-primary,.btn-secondary{padding:10px 18px;font-weight:600;font-size:14px}.btn-secondary{background:#fff;color:var(--muted);border:1px solid var(--border);border-radius:8px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field input,.field select{padding:10px 12px;border-radius:8px;border:1px solid var(--border)}.bottom-nav{display:none}.header-main-nav{display:flex}@media (max-width:767px){.app-main{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}.header-main-nav,.header-title{display:none}.planning-nav-bar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:var(--surface);margin:0 -20px;padding:12px 20px 10px;border-bottom:1px solid var(--border)}.bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px 6px;text-decoration:none;color:var(--faint)}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-icon{position:relative;display:flex}.bottom-nav-label{font-size:10px;font-weight:600}.bottom-nav-badge{position:absolute;top:-4px;right:-8px;background:var(--danger);color:#fff;border-radius:8px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.3}}