:root{--background:0 0% 100%;--foreground:222 47% 11%;--surface:210 40% 98%;--surface-elevated:0 0% 100%;--muted:210 40% 96%;--muted-foreground:215 16% 47%;--border:214 32% 91%;--border-strong:215 20% 65%;--accent:210 40% 96%;--accent-foreground:222 47% 11%;--danger:0 72% 51%;--radius-md:6px;--radius-lg:8px;color-scheme:light;font-family:Inter,Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:hsl(var(--surface));color:hsl(var(--foreground))}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.shell{display:grid;min-height:100vh;grid-template-columns:240px 1fr}.sidebar{border-right:1px solid hsl(var(--border));background:hsl(var(--background));padding:24px 18px}.brand{font-size:20px;font-weight:700;margin-bottom:28px}.sidebar nav{display:grid;grid-gap:4px;gap:4px}.sidebar a{border-radius:var(--radius-md);padding:10px 12px;color:hsl(var(--muted-foreground))}.sidebar a:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.mainArea{min-width:0}.topbar{display:flex;min-height:88px;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--background));padding:20px 32px}.pageHeader p{margin:0 0 4px;color:hsl(var(--muted-foreground));font-size:14px}.pageHeader h1{margin:0;font-size:28px;letter-spacing:0}.userMenu{display:grid;justify-items:end;color:hsl(var(--muted-foreground));font-size:13px}.userMenu strong{color:hsl(var(--foreground));font-size:14px}.content{padding:32px}.dashboardStack{display:grid;grid-gap:24px;gap:24px}.metricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:16px;gap:16px}.metricCard{min-height:116px;border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--surface-elevated));padding:18px}a.metricCard{display:block}.metricCard:hover{border-color:hsl(var(--border-strong))}.metricCard span{display:block;color:hsl(var(--muted-foreground));font-size:14px;margin-bottom:14px}.metricCard strong{font-size:30px;letter-spacing:0}.summaryPanel{border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--surface-elevated));padding:20px}.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.sectionHeader h2{margin:0;font-size:18px;letter-spacing:0}.workTypeGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px}.workTypeItem{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:12px;border:1px solid hsl(var(--border));border-radius:var(--radius-md);padding:12px}.workTypeItem:hover{border-color:hsl(var(--border-strong))}.workTypeItem span{color:hsl(var(--muted-foreground));font-size:14px}.workTypeItem strong{font-size:20px;letter-spacing:0}.placeholderPanel{border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--surface-elevated));padding:24px;color:hsl(var(--muted-foreground))}.loginPage{display:grid;min-height:100vh;place-items:center;background:hsl(var(--surface));padding:24px}.loginPanel{display:grid;width:min(100%,420px);grid-gap:28px;gap:28px;border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:hsl(var(--surface-elevated));padding:32px}.loginEyebrow{margin:0 0 6px;color:hsl(var(--muted-foreground));font-size:14px}.loginPanel h1{margin:0;font-size:30px;letter-spacing:0}.loginForm{display:grid;grid-gap:16px;gap:16px}.loginForm label{display:grid;grid-gap:8px;gap:8px;color:hsl(var(--foreground));font-size:14px;font-weight:600}.loginForm input{min-height:42px;border:1px solid hsl(var(--border));border-radius:var(--radius-md);background:hsl(var(--background));color:hsl(var(--foreground));font:inherit;padding:8px 10px}.loginForm input:focus{border-color:hsl(var(--border-strong));outline:2px solid hsl(var(--accent))}.loginForm button{min-height:42px;border:0;border-radius:var(--radius-md);background:hsl(var(--foreground));color:hsl(var(--background));cursor:pointer;font:inherit;font-weight:700}.loginForm button:disabled{cursor:wait;opacity:.7}.formError{margin:0;color:hsl(var(--danger));font-size:14px}.loginLoading{margin:0;color:hsl(var(--muted-foreground))}@media (max-width:720px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid hsl(var(--border))}.topbar{align-items:flex-start;flex-direction:column}.content,.topbar{padding:20px}}