All checks were successful
build-and-push / build (push) Successful in 36s
- AppShell·사이드바(역할별 네비)·탑바·UI킷, react-query·axios·recharts·dnd-kit - SP 디자인 토큰 재사용(navy/canvas/Noto Sans KR) + 회계용 고밀도 확장 - 페이지: 대시보드, 근무(타임시트·휴가/초과 신청), 프로젝트 목록/상세 (간트·칸반·캘린더·작업자portion·업체담당자·계약/분할입금 admin), 인센티브(유저 대시보드), 인센티브 관리 콘솔(단계 stepper·시뮬레이터·오버라이드), 회계(현금-인센티브 갭·원장·세금), 구성원·설정·승인·프로필 - 권한 가드: 관리자 전용 라우트, ?as=user 로 구성원 시점 미리보기 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
72 lines
2.0 KiB
JavaScript
72 lines
2.0 KiB
JavaScript
/** @type {import('tailwindcss').Config} */
|
|
// spin reuses the Special Partners design tokens (shared with eQMS) so the
|
|
// internal tools feel like one product, then extends them for a dense,
|
|
// professional accounting/ops surface (status & stage colors, wide tables).
|
|
export default {
|
|
content: ["./index.html", "./src/**/*.{ts,tsx}"],
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
navy: {
|
|
DEFAULT: "#11224F",
|
|
hover: "#1B2F66",
|
|
sidebar: "#0C1733",
|
|
subtle: "#E8ECF5",
|
|
},
|
|
canvas: "#F5F6F8",
|
|
surface: "#FFFFFF",
|
|
border: {
|
|
DEFAULT: "#E4E7EC",
|
|
strong: "#D0D5DD",
|
|
},
|
|
ink: {
|
|
DEFAULT: "#101828",
|
|
secondary: "#475467",
|
|
strong: "#344054",
|
|
muted: "#98A2B3",
|
|
},
|
|
// request / approval statuses
|
|
status: {
|
|
"pending-fg": "#B54708",
|
|
"pending-bg": "#FEF0C7",
|
|
"approved-fg": "#067647",
|
|
"approved-bg": "#DCFAE6",
|
|
"rejected-fg": "#B42318",
|
|
"rejected-bg": "#FEE4E2",
|
|
"neutral-fg": "#475467",
|
|
"neutral-bg": "#F2F4F7",
|
|
},
|
|
// incentive fix lifecycle (예정 → 반영중 → 반영완료 → 지급완료)
|
|
stage: {
|
|
planned: "#98A2B3",
|
|
applying: "#2E90FA",
|
|
applied: "#7A5AF8",
|
|
paid: "#12B76A",
|
|
},
|
|
// accounting semantics
|
|
money: {
|
|
in: "#067647",
|
|
out: "#B42318",
|
|
},
|
|
chip: { bg: "#EEF1F8" },
|
|
divider: "#F2F4F7",
|
|
},
|
|
fontFamily: {
|
|
wordmark: ['"Lora"', "serif"],
|
|
sans: ['"Noto Sans KR"', "system-ui", "sans-serif"],
|
|
num: ['"Inter"', "system-ui", "sans-serif"],
|
|
},
|
|
borderRadius: {
|
|
card: "12px",
|
|
control: "8px",
|
|
pill: "999px",
|
|
},
|
|
boxShadow: {
|
|
card: "0 1px 2px rgba(16,24,40,0.06)",
|
|
pop: "0 8px 24px rgba(16,24,40,0.12)",
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
};
|