:root{--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #475569;--color-slate-500: #475569;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-success-50: #ecfdf5;--color-success-100: #d1fae5;--color-success-600: #059669;--color-success-700: #047857;--color-success-800: #065f46;--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-danger-50: #fff1f2;--color-danger-100: #ffe4e6;--color-danger-600: #be123c;--color-danger-700: #be123c;--color-danger-800: #9f1239;--font-sans: -apple-system, BlinkMacSystemFont, "Pretendard", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--touch-target-min: 44px;--focus-ring: 0 0 0 2px #ffffff, 0 0 0 4px var(--color-primary-600)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;color:var(--color-slate-900);background-color:var(--color-slate-50);-webkit-font-smoothing:antialiased;min-width:320px;min-height:100vh}.tabular-nums{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.rw-container{width:100%;max-width:1024px;margin:0 auto;padding:var(--space-4)}@media (min-width: 640px){.rw-container{padding:var(--space-6)}}.rw-stack{display:flex;flex-direction:column;gap:var(--space-4)}.rw-stack-sm{display:flex;flex-direction:column;gap:var(--space-2)}.rw-stack-lg{display:flex;flex-direction:column;gap:var(--space-6)}.rw-flex{display:flex;align-items:center;gap:var(--space-2)}.rw-flex-between{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.rw-grid-2{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width: 640px){.rw-grid-2{grid-template-columns:1fr 1fr}}.rw-grid-4{display:grid;grid-template-columns:1fr;gap:var(--space-4)}@media (min-width: 640px){.rw-grid-4{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.rw-grid-4{grid-template-columns:repeat(4,1fr)}}.rw-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;min-height:var(--touch-target-min);padding:0 var(--space-4);text-decoration:none;border:1px solid transparent;user-select:none}.rw-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.rw-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.rw-btn-primary{background-color:var(--color-primary-600);color:#fff}.rw-btn-primary:hover:not(:disabled){background-color:var(--color-primary-700)}.rw-btn-secondary{background-color:var(--color-slate-100);color:var(--color-slate-800);border-color:var(--color-slate-300)}.rw-btn-secondary:hover:not(:disabled){background-color:var(--color-slate-200)}.rw-btn-outline{background-color:transparent;color:var(--color-primary-600);border-color:var(--color-primary-600)}.rw-btn-outline:hover:not(:disabled){background-color:var(--color-primary-50)}.rw-btn-danger{background-color:var(--color-danger-600);color:#fff}.rw-btn-danger:hover:not(:disabled){background-color:var(--color-danger-700)}.rw-btn-ghost{background-color:transparent;color:var(--color-slate-600)}.rw-btn-ghost:hover:not(:disabled){background-color:var(--color-slate-100)}.rw-btn-sm{min-height:36px;font-size:var(--font-size-sm);padding:0 var(--space-3)}.rw-btn-md{min-height:var(--touch-target-min);font-size:var(--font-size-base);padding:0 var(--space-4)}.rw-btn-lg{min-height:52px;font-size:var(--font-size-lg);padding:0 var(--space-6)}.rw-field{display:flex;flex-direction:column;gap:var(--space-1)}.rw-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-slate-800);display:flex;align-items:center;gap:var(--space-1)}.rw-required-star{color:var(--color-danger-600)}.rw-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.rw-input{width:100%;min-height:var(--touch-target-min);padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-slate-900);background-color:#fff;border:1px solid var(--color-slate-300);border-radius:var(--radius-md);transition:border-color .15s ease,box-shadow .15s ease}.rw-input.has-suffix{padding-right:var(--space-8)}.rw-input-suffix{position:absolute;right:var(--space-3);font-size:var(--font-size-sm);color:var(--color-slate-500);pointer-events:none}.rw-input:focus{outline:none;border-color:var(--color-primary-600);box-shadow:0 0 0 3px #2563eb26}.rw-input.rw-input-error{border-color:var(--color-danger-600)}.rw-input.rw-input-error:focus{box-shadow:0 0 0 3px #e11d4826}.rw-help-text{font-size:var(--font-size-xs);color:var(--color-slate-500)}.rw-error-text{font-size:var(--font-size-xs);color:var(--color-danger-600);font-weight:500}.rw-card{background-color:#fff;border:1px solid var(--color-slate-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.rw-card-header{margin-bottom:var(--space-3)}.rw-card-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-slate-900)}.rw-card-description{font-size:var(--font-size-sm);color:var(--color-slate-500)}.rw-card-content{flex:1}.rw-card-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-slate-100)}.rw-card-recommended{border:2px solid var(--color-success-600);box-shadow:var(--shadow-md);background:linear-gradient(180deg,#ffffff 0%,var(--color-success-50) 100%)}.rw-card-disabled{background-color:var(--color-slate-100);border:1px dashed var(--color-slate-300);opacity:1}.rw-card-disabled .rw-card-title{color:var(--color-slate-600)}.rw-badge{display:inline-flex;align-items:center;font-size:var(--font-size-xs);font-weight:700;padding:2px var(--space-2);border-radius:var(--radius-full);line-height:1.25;width:fit-content}.rw-badge-success{background-color:var(--color-success-100);color:var(--color-success-800)}.rw-badge-warning{background-color:var(--color-warning-100);color:var(--color-warning-800)}.rw-badge-danger{background-color:var(--color-danger-100);color:var(--color-danger-800)}.rw-badge-info{background-color:var(--color-primary-100);color:var(--color-primary-800)}.rw-badge-neutral{background-color:var(--color-slate-200);color:var(--color-slate-700)}.rw-alert{display:flex;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.4;border:1px solid transparent}.rw-alert-info{background-color:var(--color-primary-50);border-color:var(--color-primary-100);color:var(--color-primary-800)}.rw-alert-warning{background-color:var(--color-warning-50);border-color:var(--color-warning-100);color:var(--color-warning-800)}.rw-alert-error{background-color:var(--color-danger-50);border-color:var(--color-danger-100);color:var(--color-danger-800)}.rw-alert-success{background-color:var(--color-success-50);border-color:var(--color-success-100);color:var(--color-success-800)}.rw-table-container{width:100%;overflow-x:auto;border:1px solid var(--color-slate-200);border-radius:var(--radius-md);background-color:#fff}.rw-table{width:100%;border-collapse:collapse;text-align:left;font-size:var(--font-size-sm)}.rw-table th,.rw-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-slate-200)}.rw-table th{background-color:var(--color-slate-50);color:var(--color-slate-700);font-weight:600}.rw-table tr:last-child td{border-bottom:none}.rw-table .rw-td-number{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.rw-table-total-row td{font-weight:700;background-color:var(--color-slate-50);border-top:2px solid var(--color-slate-300)}.rw-tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.rw-tooltip-trigger{background:none;border:none;color:var(--color-slate-400);cursor:help;display:inline-flex;align-items:center;justify-content:center;padding:2px;border-radius:var(--radius-full)}.rw-tooltip-trigger:hover,.rw-tooltip-trigger:focus-visible{color:var(--color-primary-600);outline:none}.rw-tooltip-bubble{position:absolute;bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%);background-color:var(--color-slate-800);color:#fff;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);border-radius:var(--radius-sm);white-space:nowrap;max-width:280px;white-space:normal;box-shadow:var(--shadow-md);z-index:50;pointer-events:none;text-align:center}:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.rw-page-header{flex-wrap:wrap;align-items:flex-start}.rw-page-header nav{width:100%;min-width:0;flex-wrap:wrap}.rw-card,.rw-card-content,.rw-stack,.rw-stack-sm,.rw-stack-lg{min-width:0}@media (max-width: 639px){.rw-page-header{flex-direction:column}.rw-container{padding:.75rem}.rw-flex-between{flex-wrap:wrap}.rw-card{padding:.875rem}.rw-table-container{max-width:100%}}#batch-csv-file:focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}
