:root{--font-family:"Pretendard", "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono:"JetBrains Mono", "Pretendard", monospace;--font-data:"Inter", "Pretendard", sans-serif;--color-primary:#3182f6;--color-primary-hover:#1b64da;--color-primary-light:#e8f3ff;--color-success:#00c48c;--color-success-light:#e8faf5;--color-warning:#ff9f43;--color-warning-light:#fff8f0;--color-error:#f04452;--color-error-light:#fff0f1;--color-text-primary:#191f28;--color-text-secondary:#4e5968;--color-text-tertiary:#8b95a1;--color-text-disabled:#b0b8c1;--color-text-inverse:#fff;--color-bg:#fff;--color-bg-secondary:#f2f4f6;--color-bg-tertiary:#f9fafb;--color-bg-page:#f9fafb;--color-border:#e5e8eb;--color-border-hover:#d1d6db;--color-border-focus:#3182f6;--color-border-error:#f04452;--color-divider:#f2f4f6;--status-new:#3182f6;--status-new-bg:#e8f3ff;--status-consulting:#ff9f43;--status-consulting-bg:#fff8f0;--status-quoted:#8b5cf6;--status-quoted-bg:#f3eeff;--status-deposit-paid:#00c48c;--status-deposit-paid-bg:#e8faf5;--status-confirmed:#3b82f6;--status-confirmed-bg:#eff6ff;--status-engineer-assigned:#06b6d4;--status-engineer-assigned-bg:#e0f7fa;--status-scheduled:#3b82f6;--status-scheduled-bg:#eff6ff;--status-completed:#10b981;--status-completed-bg:#d1fae5;--status-settled:#6b7280;--status-settled-bg:#f3f4f6;--status-closed:#9ca3af;--status-closed-bg:#f9fafb;--status-urgent:#f04452;--status-urgent-bg:#fff0f1;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:100px;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--transition-fast:.15s ease;--transition-normal:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-family);color:var(--color-text-primary);background:var(--color-bg);letter-spacing:-.01em;line-height:1.6}#root{border:none;width:100%;max-width:100%;min-height:100dvh;margin:0}h1{letter-spacing:-.02em;color:var(--color-text-primary);font-size:24px;font-weight:700;line-height:1.3}h2{letter-spacing:-.02em;color:var(--color-text-primary);font-size:20px;font-weight:600;line-height:1.3}h3{letter-spacing:-.01em;color:var(--color-text-primary);font-size:16px;font-weight:600;line-height:1.4}p{margin:0}a{color:var(--color-primary);text-decoration:none}button{font-family:var(--font-family);cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-family);outline:none}.data-number{font-family:var(--font-data);font-variant-numeric:tabular-nums}.data-code{font-family:var(--font-mono);font-size:13px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}.toast-viewport{z-index:9999;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast-item{pointer-events:auto;letter-spacing:-.01em;color:#fff;border-radius:12px;align-items:center;gap:8px;max-width:480px;padding:12px 16px;font-size:14px;font-weight:500;line-height:1.5;animation:.2s toastItemIn;display:flex;box-shadow:0 4px 12px #00000026}.toast-item-msg{white-space:pre-line;word-break:break-word;flex:1}.toast-item-close{color:#ffffffd9;cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:0;display:flex}.toast-item-close:hover{color:#fff}.toast-item-icon{flex-shrink:0}.toast-item--success{background:#00c48c}.toast-item--error{background:#f04452}.toast-item--info{background:#3182f6}@keyframes toastItemIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast-item{animation:none}}
