:root{--primary:#4f46e5;--primary-dark:#4338ca;--ink:#111827;--ink-soft:#6b7280;--ink-faint:#9ca3af;--line:#e5e7eb;--line-soft:#f1f5f9;--surface:#fff;--bg:#f7f8fb;--good:#16a34a;--good-soft:#dcfce7;--bad:#dc2626;--bad-soft:#fee2e2;--warn:#b45309;--warn-soft:#fef3c7;--info:#2563eb;--info-soft:#dbeafe}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#app{background:var(--bg);flex-direction:column;max-width:480px;min-height:100vh;margin:0 auto;display:flex}a{color:var(--primary);text-decoration:none}.app-header{z-index:5;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 18px;display:flex;position:sticky;top:0}.app-header h1{margin:0;font-size:16px;font-weight:700}.app-content{flex:1;padding:18px 18px 90px}.app-tabbar{background:var(--surface);border-top:1px solid var(--line);width:100%;max-width:480px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));z-index:10;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.app-tabbar a{color:var(--ink-faint);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:600;display:flex}.app-tabbar a.active{color:var(--primary);background:#eef2ff}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:18px}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{color:var(--ink-soft);font-size:12.5px;font-weight:600}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=number],.field input[type=date],.field input[type=month],.field select,.field textarea{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:10px;width:100%;padding:12px 13px;font-family:inherit;font-size:15px}.field textarea{resize:vertical;min-height:80px}.field-hint{color:var(--ink-faint);font-size:11.5px}.btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;padding:14px 16px;font-size:15px;font-weight:700}.btn-primary:disabled{opacity:.6}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:12px;width:100%;padding:12px 16px;font-size:14px;font-weight:600}.btn-danger{color:var(--bad)}.pill{border-radius:20px;align-items:center;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.pill-good{background:var(--good-soft);color:var(--good)}.pill-info{background:var(--info-soft);color:var(--info)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-bad{background:var(--bad-soft);color:var(--bad)}.pill-muted{background:var(--line-soft);color:var(--ink-faint)}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.error-box{background:var(--bad-soft);color:var(--bad);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.info-box{background:var(--info-soft);color:var(--info);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.success-box{background:var(--good-soft);color:var(--good);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.center-page{flex-direction:column;justify-content:center;min-height:100vh;padding:24px;display:flex}.brand{text-align:center;margin-bottom:28px}.brand .logo-circle{background:var(--primary);color:#fff;border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 12px;font-size:26px;font-weight:800;display:flex}.brand h1{margin:0;font-size:19px}.brand p{color:var(--ink-soft);margin:4px 0 0;font-size:13px}
