@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&display=swap";:root,[data-theme=light]{--purple-50: #F3F0FF;--purple-100: #E8DFFF;--purple-200: #D4C4FF;--purple-400: #9B6BC2;--purple-500: #7B4FAA;--purple-600: #5B2D8E;--purple-700: #4A1A6B;--purple-800: #3D1F5C;--purple-900: #2A1040;--teal-500: #0F6E56;--gray-50: #FAFAFA;--gray-100: #F5F5F5;--gray-200: #EEEEEE;--gray-300: #E0E0E0;--gray-400: #BDBDBD;--gray-500: #9E9E9E;--gray-600: #757575;--gray-700: #616161;--gray-800: #424242;--gray-900: #212121;--red-500: #E53E3E;--red-50: #FFF5F5;--green-500: #38A169;--green-50: #F0FFF4;--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--text-primary: #212121;--text-secondary: #616161;--text-tertiary: #9E9E9E;--border-color: #EEEEEE;--border-hover: #E0E0E0;--card-bg: #FFFFFF;--card-shadow: 0 1px 3px rgba(0,0,0,.06);--header-gradient: linear-gradient(135deg, #4A1A6B, #2A1040);--input-bg: #FFFFFF;--overlay-bg: rgba(0,0,0,.4)}[data-theme=dark]{--purple-50: #1C1626;--purple-100: #261E38;--purple-200: #382B52;--purple-400: #A77ED4;--purple-500: #C4A3E8;--purple-600: #D8BFF0;--purple-700: #E8D8F8;--purple-800: #F3EEFB;--purple-900: #FAF7FE;--gray-50: #1C1C1E;--gray-100: #252528;--gray-200: #323236;--gray-300: #434347;--gray-400: #636366;--gray-500: #8E8E93;--gray-600: #AEAEB2;--gray-700: #D1D1D6;--gray-800: #E5E5EA;--gray-900: #F2F2F7;--red-500: #FF6B6B;--red-50: #2D1B1B;--green-500: #6BCB77;--green-50: #1B2D1F;--bg-primary: #1C1C1E;--bg-secondary: #1C1C1E;--bg-tertiary: #252528;--text-primary: #F2F2F7;--text-secondary: #AEAEB2;--text-tertiary: #8E8E93;--border-color: #3A3A3D;--border-hover: #4A4A4E;--card-bg: #2C2C2E;--card-shadow: 0 2px 8px rgba(0,0,0,.3);--header-gradient: linear-gradient(135deg, #261E38, #151118);--input-bg: #252528;--overlay-bg: rgba(0,0,0,.65)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans KR,-apple-system,sans-serif;background:var(--bg-secondary);color:var(--text-primary);line-height:1.6;transition:background .3s,color .3s}a{color:var(--purple-600);text-decoration:none}a:hover{color:var(--purple-700)}button{cursor:pointer;font-family:inherit;border:none;border-radius:8px;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s;position:relative;overflow:hidden}input,select,textarea{font-family:inherit;border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;font-size:14px;outline:none;width:100%;background:var(--input-bg);color:var(--text-primary);transition:border-color .2s,background .2s}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:focus,select:focus,textarea:focus{border-color:var(--purple-500);box-shadow:0 0 0 3px #7b4faa33}select{background:var(--input-bg);color:var(--text-primary)}.btn-primary{background:var(--purple-600);color:#fff}.btn-primary:hover{background:var(--purple-700);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background:var(--gray-400);cursor:not-allowed;transform:none;color:var(--gray-200)}[data-theme=dark] .btn-primary{background:#7b4faa;color:#f2f2f7}[data-theme=dark] .btn-primary:hover{background:#8e60bd}[data-theme=dark] .btn-primary:disabled{background:#434347;color:#636366}.btn-danger{background:var(--red-500);color:#fff}.btn-danger:hover{opacity:.9}.btn-outline{background:var(--card-bg);color:var(--purple-600);border:1px solid var(--purple-600)}.btn-outline:hover{background:var(--purple-50)}[data-theme=dark] .btn-outline{background:var(--card-bg);color:var(--purple-500);border-color:var(--purple-400)}@keyframes ripple{to{transform:scale(4);opacity:0}}button:after{content:"";position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;background:#fff3;transform:scale(0);opacity:1;pointer-events:none}button:active:after{animation:ripple .5s ease-out}.card{background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);padding:24px;box-shadow:var(--card-shadow);transition:background .3s,border-color .3s,box-shadow .3s}.card-hover{transition:transform .2s,box-shadow .2s,background .3s}.card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}[data-theme=dark] .card-hover:hover{box-shadow:0 4px 16px #0006}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.items-center{align-items:center}.flex-1{flex:1}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.grid{display:grid}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:1fr 1fr 1fr}.grid-4{grid-template-columns:repeat(4,1fr)}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mb-4{margin-bottom:4px}.mb-6{margin-bottom:6px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-24{margin-bottom:24px}.p-16{padding:16px}.p-20{padding:20px}.p-24{padding:24px}.text-center{text-align:center}.text-11{font-size:11px}.text-12{font-size:12px}.text-13{font-size:13px}.text-14{font-size:14px}.text-15{font-size:15px}.text-16{font-size:16px}.text-18{font-size:18px}.text-20{font-size:20px}.text-22{font-size:22px}.text-28{font-size:28px}.font-400{font-weight:400}.font-500{font-weight:500}.font-600{font-weight:600}.font-700{font-weight:700}.text-purple{color:var(--purple-600)}.text-purple-700{color:var(--purple-700)}.text-gray-400,.text-gray-500{color:var(--text-tertiary)}.text-gray-600,.text-gray-700{color:var(--text-secondary)}.text-gray-900{color:var(--text-primary)}.text-red{color:var(--red-500)}.text-green{color:var(--green-500)}.bg-white{background:var(--card-bg)}.bg-purple-50{background:var(--purple-50)}.bg-gray-50{background:var(--bg-secondary)}.bg-gray-100{background:var(--bg-tertiary)}.rounded-8{border-radius:8px}.rounded-10{border-radius:10px}.rounded-12{border-radius:12px}.rounded-16{border-radius:16px}.rounded-full{border-radius:50%}.border-gray{border:1px solid var(--border-color)}.border-purple{border:1px solid var(--purple-200)}.badge{display:inline-block;font-size:12px;padding:2px 10px;border-radius:12px;font-weight:500}.badge-active{background:var(--green-50);color:var(--green-500)}.badge-closed{background:var(--red-50);color:var(--red-500)}.badge-purple{background:var(--purple-50);color:var(--purple-600);font-weight:600}.stat-card{padding:16px;border-radius:10px;text-align:center}.stat-card-purple{background:var(--purple-50)}.stat-value{font-size:28px;font-weight:700}.stat-value-purple{color:var(--purple-700)}.stat-label{font-size:12px;color:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-bar{animation:barGrow .6s ease forwards;transform-origin:bottom}.stagger-item{animation:fadeSlideIn .3s ease forwards;opacity:0}.stagger-item:nth-child(1){animation-delay:.02s}.stagger-item:nth-child(2){animation-delay:.06s}.stagger-item:nth-child(3){animation-delay:.1s}.stagger-item:nth-child(4){animation-delay:.14s}.stagger-item:nth-child(5){animation-delay:.18s}.count-up{animation:fadeIn .5s ease forwards}.link-hover{position:relative;display:inline-block}.link-hover:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--purple-500);transition:width .25s ease}.link-hover:hover:after{width:100%}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border-color) 50%,var(--bg-tertiary) 75%);background-size:800px 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.w-full{width:100%}.h-40{height:40px}.h-44{height:44px}.h-48{height:48px}.max-w-800{max-width:800px;margin:0 auto}.max-w-900{max-width:900px;margin:0 auto}.transition{transition:all .2s}.break-all{word-break:break-all}.recharts-responsive-container{min-width:0!important;min-height:0!important}@media (max-width:768px){.card{padding:16px}.hide-mobile{display:none!important}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr!important}.flex-col-mobile{flex-direction:column!important}}@media (max-width:480px){.card{padding:14px;border-radius:10px}button{padding:8px 16px;font-size:13px}input,select,textarea{padding:8px 12px;font-size:13px}}header{position:sticky!important;top:0!important;z-index:100!important}@media print{body{background:#fff!important;color:#212121!important}header,footer,nav,.no-print,.btn-primary,.btn-outline,.btn-danger,[role=navigation]{display:none!important}.card{box-shadow:none!important;border:1px solid #E0E0E0!important;break-inside:avoid;page-break-inside:avoid}main{max-width:100%!important;padding:0!important}svg{print-color-adjust:exact;-webkit-print-color-adjust:exact}a[href]:after{content:" (" attr(href) ")";font-size:10px;color:#757575}a[href^="#"]:after,a[href^=javascript]:after{content:""}.chart-bar,[style*="background: linear-gradient"]{print-color-adjust:exact;-webkit-print-color-adjust:exact}h2,h3{page-break-after:avoid}.stat-card,.count-up{break-inside:avoid}.print-header{display:block!important}}.print-header{display:none;text-align:center;padding:20px 0 16px;border-bottom:2px solid #4A1A6B;margin-bottom:24px}.print-header h1{font-size:22px;color:#4a1a6b}.print-header p{font-size:12px;color:#757575}*:focus-visible{outline:3px solid var(--purple-500);outline-offset:2px;border-radius:4px}*:focus:not(:focus-visible){outline:none}.skip-nav{position:absolute;top:-100px;left:50%;transform:translate(-50%);background:var(--purple-700);color:#fff;padding:10px 24px;border-radius:0 0 8px 8px;font-size:14px;font-weight:500;z-index:10000;transition:top .2s}.skip-nav:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-contrast: high){.card{border-width:2px}.badge{border:1px solid currentColor}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.skeleton{animation:none!important;background:var(--bg-tertiary)!important}}button,a{min-height:36px}input[type=checkbox],input[type=radio]{width:16px;height:16px;margin:0;accent-color:var(--purple-600, #5B2D8E);cursor:pointer;flex-shrink:0;border-radius:3px}label{cursor:pointer}
