:root{--ink:#0f1b2d;--ink-soft:#5b6b83;--ink-faint:#93a2b8;--line:#e2e8f0;--bg:#f6f8fb;--card:#fff;--accent:#0b74d1;--accent-dark:#095ea8;--ok:#17915b;--warn:#b7791f;--danger:#c02b32;--radius:16px;--shadow:0 1px 2px #0f1b2d0f, 0 8px 24px #0f1b2d0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:52px;padding:14px 20px;font-family:inherit;font-size:17px;font-weight:600;transition:background .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-dark)}.btn:disabled{opacity:.5;cursor:default}.btn-ghost{color:var(--accent);background:0 0;min-height:44px;font-size:15px}.btn-ghost:hover:not(:disabled){background:#0b74d114}.field{margin-bottom:16px;display:block}.field label{color:var(--ink-soft);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.field input{border:1.5px solid var(--line);width:100%;min-height:52px;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px;font-family:inherit;font-size:17px}.field input:focus{border-color:var(--accent);outline:none}.alert{border-radius:12px;margin-bottom:16px;padding:12px 14px;font-size:15px;line-height:1.45}.alert-error{color:var(--danger);background:#fdecec}.alert-ok{color:var(--ok);background:#e7f6ee}.alert-info{color:var(--accent-dark);background:#eaf3fc}.muted{color:var(--ink-soft);font-size:15px;line-height:1.5}.faint{color:var(--ink-faint);font-size:13px}.auth-screen{justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.auth-box{width:100%;max-width:400px}.brand{text-align:center;margin-bottom:28px}.brand-name{letter-spacing:2px;color:var(--accent);margin:0;font-size:13px;font-weight:700}.brand-title{margin:6px 0 0;font-size:30px;font-weight:300}.app{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:20;padding:14px 20px;padding-top:calc(14px + env(safe-area-inset-top));background:var(--card);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.topbar-title{font-size:17px;font-weight:700}.topbar-user{color:var(--ink-faint);font-size:13px}.content{padding:20px;padding-bottom:calc(86px + env(safe-area-inset-bottom));flex:1;width:100%;max-width:720px;margin:0 auto}.tabs{z-index:20;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000000f}.tab{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-top:3px solid #0000;flex:1;margin-top:-1px;padding:12px 8px 14px;font-family:inherit;font-size:12px;font-weight:600}.tab.active{color:var(--accent);border-top-color:var(--accent)}.tab-icon{margin-bottom:3px;font-size:20px;display:block}.menu-row{background:var(--card);border:1px solid var(--line);width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:14px;padding:16px 18px;display:flex}.menu-row:active{background:var(--bg)}.menu-row-icon{flex-shrink:0;font-size:22px;line-height:1}.menu-row-text{flex:1;min-width:0}.menu-row-title{font-size:16px;font-weight:600}.menu-row-note{color:var(--ink-faint);margin-top:2px;font-size:13px}.menu-row-badge{color:#fff;background:var(--warn);border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:12px;font-weight:700}.menu-row-chevron{color:var(--ink-faint);flex-shrink:0;font-size:20px}.subpage-head{align-items:center;gap:10px;margin:0 0 16px;display:flex}.back-btn{border:1px solid var(--line);background:var(--card);font:inherit;color:var(--ink);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px 8px 11px;font-size:14px;font-weight:600;display:flex}.back-btn:active{background:var(--bg)}
