:root{--jj-navy: #2D3142;--jj-rose: #C77A8B;--jj-rose-light: #FADBD8;--jj-peach: #F6B89A;--jj-gold: #B8963E;--jj-gold-light: #D4AF37;--jj-cream: #FFF8F3;--jj-warm-white: #FEFCFA;--jj-beige: #F5EDE4;--jj-gray-50: #FAFAFA;--jj-gray-100: #F5F5F5;--jj-gray-200: #EEEEEE;--jj-gray-300: #E0E0E0;--jj-gray-400: #BDBDBD;--jj-gray-500: #9E9E9E;--jj-gray-600: #757575;--jj-gray-700: #616161;--jj-gray-800: #424242;--shadow-sm: 0 1px 2px rgba(0,0,0,.04), 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.06), 0 2px 4px -2px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.06);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px -6px rgba(0,0,0,.04);--shadow-glow: 0 0 20px rgba(184, 150, 62, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;font-weight:400;color:var(--jj-navy);background-color:var(--jj-warm-white);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--jj-gold);outline-offset:2px;border-radius:4px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--jj-gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--jj-gray-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) both}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out) both}@media (pointer: coarse){button,[role=button],a,input,select,textarea{min-height:44px}*{-webkit-tap-highlight-color:transparent}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}::selection{background:#b8963e33;color:var(--jj-navy)}@supports (padding: env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}@media (max-width: 600px){.MuiDialog-paper{margin:8px!important;max-height:calc(100vh - 16px)!important;border-radius:var(--radius-lg)!important}}.skeleton-shimmer{background:linear-gradient(90deg,var(--jj-gray-100) 25%,var(--jj-gray-200) 50%,var(--jj-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}#root{min-height:100vh;display:flex;flex-direction:column}
