:root{--bg: #f6f7f9;--card: #ffffff;--ink: #1d2330;--muted: #6b7280;--line: #e3e6eb;--accent: #2f5bd3;--accent-ink: #ffffff;--danger: #c0392b;--menu-w: 200px;--tab-h: 60px;color-scheme:light;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:16px}@media(prefers-color-scheme:dark){:root{--bg: #14171d;--card: #1d2129;--ink: #e8eaee;--muted: #9aa1ad;--line: #2c313b;--accent: #6d8ff0;--accent-ink: #0d1117;--danger: #ef7a6c;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink)}h1,h2{margin:0 0 12px}button{font:inherit;padding:10px 16px;border-radius:10px;border:0;background:var(--accent);color:var(--accent-ink);cursor:pointer;min-height:44px}button:disabled{opacity:.5;cursor:default}button.link{background:none;color:var(--muted);padding:6px 8px;min-height:0}button.ghost{background:none;color:var(--ink);border:1px solid var(--line);padding:6px 14px;min-height:36px;font-size:14px}button.ghost:hover{border-color:var(--muted)}input,select{font:inherit;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);width:100%;min-height:44px}.muted{color:var(--muted)}.center{min-height:100%;display:grid;place-content:center;gap:12px;text-align:center;padding:16px}.login{min-height:100%;display:grid;place-items:center;padding:16px}.login-card{width:100%;max-width:360px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;display:grid;gap:14px}.login-card label{display:grid;gap:6px;font-size:14px;color:var(--muted)}.login-card .msg{color:var(--danger);margin:0;font-size:14px}.login-card .hint{color:var(--muted);margin:0;font-size:13px;text-align:center}.shell{display:flex;min-height:100%}.menu{width:var(--menu-w);flex:none;background:var(--card);border-right:1px solid var(--line);padding:16px 10px;display:flex;flex-direction:column;gap:4px}.brand{font-weight:800;letter-spacing:.08em;padding:4px 12px 16px}.menu-item{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;color:var(--ink);text-decoration:none}.menu-item.on{background:var(--accent);color:var(--accent-ink)}.menu-icon{width:20px;text-align:center}.body{flex:1;min-width:0;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--card)}.top select{width:auto}.top .who{margin-left:auto;color:var(--muted);font-size:14px}.page{padding:20px}.todo{color:var(--muted)}@media(max-width:767px){.menu{position:fixed;left:0;right:0;bottom:0;width:auto;height:calc(var(--tab-h) + env(safe-area-inset-bottom));flex-direction:row;padding:0 0 env(safe-area-inset-bottom);border-right:0;border-top:1px solid var(--line);gap:0;z-index:10}.brand{display:none}.menu-item{flex:1;flex-direction:column;justify-content:center;gap:2px;border-radius:0;font-size:12px;padding:6px 0}.menu-item.on{background:none;color:var(--accent);font-weight:700}.menu-icon{font-size:18px}.top{padding:10px 16px}.page{padding:16px 16px calc(var(--tab-h) + 24px)}}
