:root{--primary-orange: #FF6B35;--primary-orange-dark: #FF8C5A;--primary-blue: #4A90E2;--background-cream: #FFF8F0;--background-light: #FFE5D9;--text-dark: #333333;--text-gray: #666666;--text-light: #999999;--success-green: #4CAF50;--warning-orange: #FFC107;--error-red: #FF6B35;--card-white: #FFFFFF;--border-light: #FFE5D9}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif;background-color:var(--background-cream);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{max-width:480px;margin:0 auto;height:100%;background-color:var(--background-cream);position:relative;overflow:hidden;box-shadow:0 0 20px #0000001a}.page-wrapper{height:100%;padding-bottom:70px;overflow-y:auto;-webkit-overflow-scrolling:touch}.page-header{background:linear-gradient(135deg,var(--primary-orange) 0%,var(--primary-orange-dark) 100%);padding:20px 20px 24px;color:#fff}.page-header h1{font-size:24px;font-weight:800;margin-bottom:4px}.page-header p{font-size:14px;color:var(--background-light);opacity:.9}.card{background:var(--card-white);border-radius:16px;padding:20px;margin:12px 16px;box-shadow:0 2px 8px #0000000f}.btn{display:flex;align-items:center;justify-content:center;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;min-height:48px;padding:14px 24px;transition:transform .1s,opacity .2s;width:100%}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary-orange);color:#fff}.btn-primary:hover{opacity:.9}.btn-blue{background:var(--primary-blue);color:#fff}.btn-outline{background:transparent;border:2px solid var(--primary-orange);color:var(--primary-orange)}.btn-gray{background:#e0e0e0;color:var(--text-gray)}.btn-success{background:var(--success-green);color:#fff}.btn-large{min-height:56px;font-size:18px;border-radius:16px}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;padding:14px 16px;border:2px solid var(--border-light);border-radius:12px;font-size:16px;background:var(--background-cream);color:var(--text-dark);outline:none;transition:border-color .2s}.input:focus{border-color:var(--primary-orange)}.input-large{font-size:24px;font-weight:700;text-align:center;padding:16px;letter-spacing:2px}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700}.badge-orange{background:var(--background-light);color:var(--primary-orange);border:1.5px solid var(--primary-orange)}.badge-green{background:#e8f5e9;color:var(--success-green)}.badge-yellow{background:#fff8e1;color:#f57f17}.badge-red{background:#ffebee;color:#d32f2f}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn .3s ease-out forwards}.slide-up{animation:slideUp .3s ease-out forwards}.scale-in{animation:scaleIn .3s ease-out forwards}.page-wrapper::-webkit-scrollbar{display:none}.page-wrapper{-ms-overflow-style:none;scrollbar-width:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:20px;padding:24px;width:90%;max-width:400px;max-height:85vh;overflow-y:auto;animation:slideUp .3s ease-out}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state .icon{font-size:64px;margin-bottom:16px}.empty-state .text{font-size:16px;color:var(--text-light);line-height:1.6}@media print{.no-print,nav,.bottom-nav{display:none!important}body{background:#fff!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
