:root{color-scheme:dark;--bg: #0c1118;--bg-elevated: #141b24;--bg-sidebar: #0a0e14;--line: #243044;--text: #e8edf4;--muted: #8b97a8;--accent: #7aa2c4;--danger-muted: #9a7a6c;font-family:Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button{font:inherit}button:disabled{opacity:.45;cursor:not-allowed}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);background:var(--bg-elevated);border:1px solid var(--line);border-radius:12px;padding:32px 28px}.login-card h1{margin:8px 0 12px;font-size:1.6rem;font-weight:650}.login-lead,.login-status,.brand-note,.page-header p,.card p,.empty-state,.future-label,.future-list{color:var(--muted)}.login-card button{margin-top:20px;width:100%;border:1px solid var(--line);background:#1b2430;color:var(--text);padding:10px 14px;border-radius:8px}.brand-kicker{margin:0;letter-spacing:.12em;font-size:.72rem;color:var(--accent)}.brand-title{margin:6px 0 4px;font-size:1.15rem;font-weight:650}.shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--line);padding:24px 18px}.nav{display:flex;flex-direction:column;gap:4px;margin-top:28px}.nav-link{padding:8px 10px;border-radius:8px;color:var(--muted)}.nav-link-active{background:#1a2432;color:var(--text)}.main{padding:32px 36px 48px}.page-header h1{margin:0 0 8px;font-size:1.5rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.card{background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;padding:18px 16px}.card h2{margin:0 0 8px;font-size:1rem}.card-meta{margin-bottom:0;font-size:.82rem;color:var(--danger-muted)}.empty-state{margin-top:24px;padding:20px 16px;border:1px dashed var(--line);border-radius:10px}.future-label{margin:28px 0 8px;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.future-list{margin:0;padding-left:18px}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line)}.nav{flex-direction:row;flex-wrap:wrap;margin-top:16px}.main{padding:24px 18px 40px}}
