@charset "UTF-8";*{box-sizing:border-box}:root{--primary-50: #fef3f2;--primary-100: #ffe4e6;--primary-200: #fecdd3;--primary-400: #fb7185;--primary-500: #f43f5e;--primary-600: #e11d48;--primary-700: #be123c;--accent-400: #fbbf24;--accent-500: #f59e0b;--accent-600: #d97706;--purple-400: #a78bfa;--purple-500: #8b5cf6;--purple-600: #7c3aed;--gray-50: #fafafa;--gray-100: #f5f5f5;--gray-200: #e5e5e5;--gray-300: #d4d4d4;--gray-400: #a3a3a3;--gray-500: #737373;--gray-600: #525252;--gray-700: #404040;--gray-800: #262626;--gray-900: #171717;--success-500: #22c55e;--success-600: #16a34a;--warning-500: #f59e0b;--warning-600: #d97706;--danger-500: #ef4444;--danger-600: #dc2626;--card-bg: #ffffff;--card-shadow: 0 4px 20px rgba(0, 0, 0, .08);--card-shadow-hover: 0 20px 40px rgba(244, 63, 94, .15);font-family:Pretendard,Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--shadow-sm: 0 2px 8px rgba(0,0,0,.06);--shadow-md: 0 8px 24px rgba(0,0,0,.08);--shadow-lg: 0 16px 40px rgba(0,0,0,.12);--shadow-glow: 0 0 40px rgba(244, 63, 94, .3);--radius-sm: 8px;--radius: 12px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px}body{margin:0;min-height:100vh;color:var(--gray-800);background:linear-gradient(135deg,#fdf2f8,#faf5ff,#f0f9ff);position:relative;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse 80% 50% at 20% -20%,rgba(244,63,94,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 0%,rgba(139,92,246,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 10% 100%,rgba(251,191,36,.1) 0%,transparent 50%),radial-gradient(ellipse 40% 40% at 90% 90%,rgba(244,63,94,.08) 0%,transparent 50%);z-index:-1;pointer-events:none}#root{width:100%;min-height:100vh;position:relative;z-index:1}h1,h2,h3,h4,h5,h6{color:var(--gray-900);margin-top:0;font-weight:800;letter-spacing:-.02em}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary-400),var(--purple-400));border-radius:4px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary-500),var(--purple-500))}::selection{background:var(--primary-200);color:var(--primary-700)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow{0%,to{box-shadow:0 0 20px #f43f5e4d}50%{box-shadow:0 0 30px #f43f5e80}}.status-badge{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#fff;box-shadow:0 2px 8px #00000026}.status-badge.status-draft{background:linear-gradient(135deg,#94a3b8,#64748b)}.status-badge.status-active,.status-badge.active{background:linear-gradient(135deg,#22c55e,#16a34a);animation:pulse 2s ease-in-out infinite}.status-badge.status-inactive,.status-badge.ready{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.status-badge.status-expired,.status-badge.ended{background:linear-gradient(135deg,#6b7280,#4b5563)}.status-badge.status-hidden{background:linear-gradient(135deg,#64748b,#475569)}.badge-hot{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:800;text-transform:uppercase;animation:pulse 1.5s ease-in-out infinite}.badge-new{background:linear-gradient(135deg,var(--primary-500),var(--purple-500));color:#fff;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:800;text-transform:uppercase}.badge-dday{background:linear-gradient(135deg,var(--accent-500),#ea580c);color:#fff;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:800}.btn-icon-refresh{width:36px;height:36px;padding:0;border:none;border-radius:50%;background:#fff;color:var(--gray-500);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:var(--shadow-sm)}.btn-icon-refresh:hover{background:linear-gradient(135deg,var(--primary-500),var(--purple-500));color:#fff;transform:rotate(180deg);box-shadow:var(--shadow-md)}.btn-icon-refresh svg{width:18px;height:18px}.promotion-list-section{padding:24px 0;animation:fadeIn .5s ease}.promotion-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.promotion-list-header h3{margin:0;font-size:1.5rem;font-weight:900;color:var(--gray-900);display:flex;align-items:center;gap:12px}.promotion-list-header h3:before{content:"🎯";font-size:1.5rem}.promotion-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.promotion-item{display:flex;flex-direction:column;background:#fff;border-radius:24px;border:none;box-shadow:var(--card-shadow);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;height:100%}.promotion-item:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--primary-500),var(--purple-500));opacity:0;transition:opacity .3s ease;z-index:0}.promotion-item:hover{transform:translateY(-8px) scale(1.01);box-shadow:var(--card-shadow-hover)}.promotion-item:hover:before{opacity:.03}.promotion-item:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-500),var(--purple-500),var(--accent-500));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.promotion-item:hover:after{transform:scaleX(1)}.promotion-info{width:100%;display:flex;flex-direction:column;gap:12px;padding:24px;position:relative;z-index:1}.luckydraw-badge{display:inline-flex;align-items:center;padding:4px 12px;background:linear-gradient(135deg,var(--primary-500),var(--purple-500));color:#fff;border-radius:8px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-left:auto;box-shadow:0 2px 8px #f43f5e4d}.promotion-title-row{display:flex;justify-content:space-between;align-items:flex-start;width:100%;gap:12px}.promotion-title{font-weight:800;font-size:1.2rem;color:var(--gray-900);line-height:1.4;letter-spacing:-.01em}.promotion-category{font-size:.7rem;color:#fff;background:linear-gradient(135deg,var(--gray-600),var(--gray-700));padding:5px 12px;border-radius:8px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.promotion-item .status-badge{margin-top:auto}.promotion-meta-header{display:flex;align-items:center;margin-top:16px;width:100%;justify-content:space-between}.promotion-meta{display:flex;flex-direction:column;gap:10px;font-size:.9rem;color:var(--gray-500);width:100%;margin-top:16px;padding-top:16px;border-top:1px solid var(--gray-100)}.promotion-period{display:flex;align-items:center;gap:8px}.period-always{display:inline-flex;align-items:center;padding:4px 12px;background:linear-gradient(135deg,var(--success-500),#10b981);color:#fff;font-size:.75rem;font-weight:700;border-radius:8px;text-transform:uppercase}.promotion-url{font-size:.85rem;color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.promotion-url a{color:var(--gray-500);text-decoration:none;transition:color .2s}.promotion-url a:hover{color:var(--primary-500)}.promotion-link{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--gray-500)}.promotion-link .link-type{font-size:.65rem;font-weight:800;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px}.promotion-link .link-type.link-external{background:linear-gradient(135deg,var(--accent-500),#ea580c);color:#fff}.promotion-link .link-type.link-inapp{background:linear-gradient(135deg,var(--success-500),#10b981);color:#fff}.promotion-link a{color:var(--primary-600);text-decoration:none;font-weight:600}.promotion-link a:hover{text-decoration:underline}.promotion-status{display:none}.promotion-actions{position:absolute;top:20px;right:20px;display:flex;gap:8px;opacity:0;transform:translateY(-8px);transition:all .3s ease;z-index:2}.promotion-item:hover .promotion-actions{opacity:1;transform:translateY(0)}.promotion-actions button{padding:8px 16px;border-radius:10px;border:none;background:#fff;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all .2s ease;font-size:.8rem;font-weight:600;white-space:nowrap}.promotion-actions button:hover{background:linear-gradient(135deg,var(--danger-500),#dc2626);color:#fff;transform:scale(1.05)}.promotion-empty{text-align:center;padding:80px 40px;color:var(--gray-400);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--card-shadow)}.promotion-empty:before{content:"📭";display:block;font-size:4rem;margin-bottom:20px}.search-container{margin-bottom:28px}.search-input{width:100%;padding:16px 20px 16px 56px;border:2px solid transparent;border-radius:16px;font-size:1rem;font-weight:500;background:#fff;box-shadow:var(--shadow-sm);transition:all .3s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23a3a3a3'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:20px center;background-size:22px}.search-input:focus{outline:none;border-color:var(--primary-400);box-shadow:0 0 0 4px #f43f5e1a,var(--shadow-md)}.search-input::placeholder{color:var(--gray-400)}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-top:1px solid #aeaeae;border-radius:0;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-top:1px solid #aeaeae;border-radius:0 0 .3rem .3rem}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__year-select,.react-datepicker__month-year-select{background-color:transparent;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__year-select:focus-visible,.react-datepicker__month-year-select:focus-visible{outline:auto 1px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:5em;margin:2px}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:5em;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.375em;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.375em}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + 1.0625em);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{text-align:center;white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:2.125em;line-height:2.125em;text-align:center;margin:.208em}.react-datepicker__day-name--disabled,.react-datepicker__day--disabled,.react-datepicker__time-name--disabled{cursor:default;color:#ccc}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.625em;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__children-container{width:17.25em;margin:.5em;padding-right:.25em;padding-left:.25em;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker-popper-offset{margin-top:-.7em}.image-uploader{display:flex;flex-direction:column;gap:10px}.image-uploader-label{font-weight:700;color:var(--gray-700);font-size:.9rem}.image-drop-zone{position:relative;min-height:180px;border:2px dashed var(--gray-300);border-radius:20px;background:linear-gradient(135deg,var(--gray-50),white);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;overflow:hidden}.image-drop-zone:hover{border-color:var(--primary-400);background:linear-gradient(135deg,var(--primary-50),white);transform:translateY(-2px);box-shadow:0 8px 24px #f43f5e1a}.lightbox-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease}.lightbox-content{position:relative;max-width:90vw;max-height:90vh}.lightbox-image{max-width:100%;max-height:90vh;border-radius:16px;box-shadow:0 8px 40px #00000080;object-fit:contain}.lightbox-close{position:absolute;top:-48px;right:0;background:#fff;border:none;color:var(--gray-700);width:40px;height:40px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .2s;box-shadow:var(--shadow-md)}.lightbox-close:hover{background:var(--primary-500);color:#fff;transform:scale(1.1)}.image-drop-zone.dragging{border-color:var(--primary-500);border-style:solid;background:linear-gradient(135deg,var(--primary-100),var(--purple-100));transform:scale(1.02);box-shadow:0 0 40px #f43f5e33}.image-drop-zone.has-image{border-style:solid;border-color:transparent}.image-drop-zone.uploading{pointer-events:none;opacity:.7}.drop-placeholder{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px;text-align:center}.drop-icon{width:56px;height:56px;color:var(--gray-400);transition:all .3s ease}.image-drop-zone:hover .drop-icon{color:var(--primary-500);transform:scale(1.15) translateY(-4px)}.image-drop-zone.dragging .drop-icon{color:var(--primary-500);transform:scale(1.2);animation:pulse 1s ease-in-out infinite}.drop-icon svg{width:100%;height:100%}.drop-text{font-size:1rem;font-weight:600;color:var(--gray-600)}.drop-hint{font-size:.8rem;color:var(--gray-400)}.file-select-btn{margin-top:12px;padding:12px 28px;background:linear-gradient(135deg,var(--primary-500),var(--purple-500));color:#fff;border:none;border-radius:12px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #f43f5e4d}.file-select-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #f43f5e66}.file-select-btn:active{transform:translateY(0) scale(.98)}.upload-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--primary-600);font-weight:600}.upload-spinner{width:40px;height:40px;border:4px solid var(--primary-100);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.image-preview-container{position:relative;width:100%;height:100%;min-height:180px;display:flex;align-items:center;justify-content:center}.image-preview-container img{max-width:100%;max-height:220px;object-fit:contain;border-radius:12px}.image-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#f43f5ecc,#8b5cf6cc);display:flex;align-items:center;justify-content:center;gap:16px;opacity:0;transition:opacity .3s ease;border-radius:18px}.image-preview-container:hover .image-overlay{opacity:1}.change-btn,.remove-btn{padding:12px 24px;border-radius:12px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;border:none}.change-btn{background:#fff;color:var(--gray-700);box-shadow:var(--shadow-md)}.change-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-lg)}.remove-btn{background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5)}.remove-btn:hover{background:#fff;color:var(--danger-500);border-color:#fff;transform:translateY(-2px) scale(1.05)}.file-name{position:absolute;bottom:12px;left:50%;transform:translate(-50%);font-size:.75rem;color:var(--gray-500);background:#fff;padding:4px 12px;border-radius:8px;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:var(--shadow-sm);font-weight:500}.promotion-form-container{max-width:1200px;margin:0 auto;padding:24px}.promotion-form{display:flex;flex-direction:column;gap:28px}@media(min-width:1024px){.promotion-form{display:grid;grid-template-columns:380px 1fr;align-items:start;gap:36px}}.form-section{background:#fff;border-radius:28px;padding:36px;box-shadow:var(--card-shadow);border:none;margin-bottom:28px;position:relative;overflow:hidden}.form-section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-500),var(--purple-500),var(--accent-500))}.form-section:last-child{margin-bottom:0}.section-title{margin:0 0 28px;font-size:1.25rem;font-weight:800;color:var(--gray-900);display:flex;align-items:center;gap:14px;letter-spacing:-.02em}.section-title:before{content:"";width:5px;height:24px;background:linear-gradient(180deg,var(--primary-500),var(--purple-500));border-radius:4px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.form-grid.single-col{grid-template-columns:1fr}.form-grid.disabled{position:relative;opacity:.45;pointer-events:none}.form-grid.disabled:before{content:attr(data-message);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,var(--primary-500),var(--purple-500));color:#fff;padding:8px 20px;border-radius:20px;font-size:.85rem;font-weight:700;z-index:10;box-shadow:0 4px 12px #f43f5e4d}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:10px}.form-field label{font-size:.9rem;font-weight:700;color:var(--gray-700);margin-left:4px}.form-field .required{color:var(--primary-500)}.form-field input,.form-field textarea,.form-field .select-input{width:100%;padding:16px 18px;background:var(--gray-50);border:2px solid transparent;border-radius:14px;font-size:1rem;font-weight:500;color:var(--gray-900);transition:all .3s ease}.form-field input:hover,.form-field textarea:hover,.form-field .select-input:hover{background:#fff;border-color:var(--gray-200)}.form-field input:focus,.form-field textarea:focus,.form-field .select-input:focus{outline:none;background:#fff;border-color:var(--primary-400);box-shadow:0 0 0 4px #f43f5e1a}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--gray-400);font-weight:400}.datetime-inputs{display:flex;gap:14px}.datetime-inputs .react-datepicker-wrapper{flex:2}.datetime-inputs .date-input{width:100%;padding:16px 18px;background:var(--gray-50);border:2px solid transparent;border-radius:14px;font-size:1rem;font-weight:500;color:var(--gray-900)}.datetime-inputs .time-input{flex:1;text-align:center;font-variant-numeric:tabular-nums}.always-checkbox{margin-bottom:28px;padding:20px;background:linear-gradient(135deg,var(--primary-50),var(--purple-50));border-radius:16px;border:2px solid var(--primary-100)}.checkbox-label{display:flex;align-items:center;gap:14px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600}.checkbox-label input{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{width:24px;height:24px;border:2px solid var(--gray-300);border-radius:8px;position:relative;transition:all .3s ease;background:#fff}.checkbox-label input:checked+.checkbox-custom{background:linear-gradient(135deg,var(--primary-500),var(--purple-500));border-color:transparent;box-shadow:0 2px 8px #f43f5e4d}.checkbox-custom:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:12px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg) scale(0);transition:transform .2s ease}.checkbox-label input:checked+.checkbox-custom:after{transform:rotate(45deg) scale(1)}.settings-checkboxes{display:flex;gap:28px;margin-bottom:28px;padding:24px;background:var(--gray-50);border-radius:16px}.form-actions{grid-column:1 / -1;display:flex;justify-content:center;gap:16px;margin-top:20px;padding:0;background:transparent}.image-grid{display:grid;gap:28px}.generated-url{margin-top:16px;padding:18px;background:var(--gray-50);border-radius:14px;border:2px dashed var(--gray-200);color:var(--gray-600);font-family:SF Mono,Fira Code,monospace;font-size:.85rem;word-break:break-all}.luckydraw-form-container{max-width:1200px;margin:40px auto;padding:0 24px;animation:fadeIn .5s ease}.luckydraw-form-container .form-section,.luckydraw-form-container .form-actions{width:100%;max-width:none}.luckydraw-form-container .promotion-form.luckydraw-two-col{display:flex;flex-direction:column;gap:28px}@media(min-width:1024px){.luckydraw-form-container .promotion-form.luckydraw-two-col{display:grid;grid-template-columns:380px 1fr;align-items:start;gap:36px}}.luckydraw-form-container .form-section:before{background:linear-gradient(90deg,#ff6b6b,#ff8e53,#fbbf24)}.luckydraw-form-container .section-title:before{background:linear-gradient(180deg,#ff6b6b,#ff8e53)}.luckydraw-form-container .btn-primary{background:linear-gradient(135deg,#ff6b6b,#ff8e53);box-shadow:0 4px 20px #ff6b6b59}.luckydraw-form-container .btn-primary:hover{box-shadow:0 8px 30px #ff6b6b73}.luckydraw-form-container .form-field input:focus,.luckydraw-form-container .form-field textarea:focus,.luckydraw-form-container .form-field .select-input:focus{border-color:#ff8e53;box-shadow:0 0 0 4px #ff8e5326}.luckydraw-form-container .checkbox-label input:checked+.checkbox-custom{background:linear-gradient(135deg,#ff6b6b,#ff8e53);box-shadow:0 2px 8px #ff6b6b4d}.luckydraw-form-container .always-checkbox{background:linear-gradient(135deg,#fff5f5,#fffbeb);border-color:#ff6b6b33}.luckydraw-form-container .form-actions{justify-content:center;gap:16px}.luckydraw-form-container .react-datepicker__close-icon{position:absolute!important;transform:translateY(-50%)!important;inset:50% 12px auto auto!important;width:20px!important;height:20px!important;padding:0!important;background:transparent!important;border:none!important;display:flex!important;align-items:center;justify-content:center;z-index:10}.luckydraw-form-container .react-datepicker__close-icon:after{background-color:#ff6b6b!important;color:#fff!important;font-size:14px!important;font-weight:700;width:100%!important;height:100%!important;border-radius:50%;display:flex!important;align-items:center;justify-content:center;content:"×"!important;line-height:1!important;padding:0 0 2px!important;box-shadow:0 2px 5px #ff6b6b66}.stepper-input{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden;width:fit-content;box-shadow:0 2px 5px #00000005;transition:all .2s ease}.stepper-input:focus-within{border-color:#ff8e53;box-shadow:0 0 0 4px #ff8e5326}.stepper-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;transition:all .2s;outline:none}.stepper-btn:hover{background:#fff5f5;color:#ff6b6b}.stepper-btn:active{background:#ffe3e3}.stepper-value{width:60px!important;text-align:center;border:none!important;background:transparent!important;font-size:1.1rem!important;font-weight:600!important;color:#1f2937!important;padding:0!important;margin:0!important;box-shadow:none!important;-moz-appearance:textfield}.stepper-value::-webkit-outer-spin-button,.stepper-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.luckydraw-list-section{padding:24px 0;animation:fadeIn .5s ease}.luckydraw-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.luckydraw-list-header h2{font-size:2.25rem;font-weight:900;margin:0;display:flex;align-items:baseline;gap:16px;letter-spacing:-.03em;background:linear-gradient(135deg,var(--primary-600),var(--purple-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.luckydraw-list-header h2 span{font-size:1.5rem;font-weight:700}.luckydraw-list-header h2 .btn-icon-refresh{width:28px;height:28px;margin-left:4px;-webkit-text-fill-color:initial}.luckydraw-list-header h2 .btn-icon-refresh svg{width:14px;height:14px}.luckydraw-list-header h2:before{content:"🎁";font-size:2.5rem;filter:drop-shadow(0 4px 8px rgba(244,63,94,.3));-webkit-text-fill-color:initial}.luckydraw-list-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:28px;align-items:start}.luckydraw-row{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--card-shadow);border:none;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;position:relative}.luckydraw-row:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary-500),var(--purple-500),var(--accent-500));z-index:2}.luckydraw-row:hover{transform:translateY(-12px) scale(1.01);box-shadow:var(--card-shadow-hover),0 0 60px #f43f5e1a}.luckydraw-main{display:flex;flex-direction:column;align-items:flex-start;padding:0;cursor:pointer;flex:1}.row-image{width:100%;height:200px;background:linear-gradient(135deg,var(--primary-100),var(--purple-100));overflow:hidden;position:relative}.row-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,rgba(0,0,0,.3),transparent);pointer-events:none}.row-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.luckydraw-row:hover .row-image img{transform:scale(1.1)}.row-content{width:100%;padding:24px;display:flex;flex-direction:column;gap:14px}.row-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.row-title{font-size:1.35rem;font-weight:800;color:var(--gray-900);line-height:1.35;margin:0;letter-spacing:-.02em}.luckydraw-row .status-badge{flex-shrink:0;margin-top:4px}.row-meta{font-size:.9rem;color:var(--gray-500);display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;font-weight:500}.row-actions{position:absolute;top:16px;right:16px;opacity:0;transform:translateY(-8px);transition:all .3s ease;z-index:3}.luckydraw-row:hover .row-actions{opacity:1;transform:translateY(0)}.btn-delete{padding:8px 16px;border-radius:10px;border:none;background:#fff;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all .2s ease;font-size:.8rem;font-weight:600;white-space:nowrap}.btn-delete:hover{background:linear-gradient(135deg,var(--danger-500),#dc2626);color:#fff;transform:scale(1.05)}.btn-delete-small{padding:4px 10px;border-radius:6px;border:none;background:var(--gray-100);color:var(--gray-500);cursor:pointer;font-size:.7rem;font-weight:600;transition:all .2s ease}.btn-delete-small:hover{background:linear-gradient(135deg,var(--danger-500),#dc2626);color:#fff}.luckydraw-sub-promotions{background:var(--gray-50);border-top:none;padding:16px 24px;display:flex;flex-direction:column;gap:12px}.sub-promotions-header{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;margin:-8px -12px;border-radius:8px;transition:background .2s ease;-webkit-user-select:none;user-select:none}.sub-promotions-header:hover{background:var(--gray-100)}.toggle-icon{font-size:.7rem;color:var(--gray-500);transition:transform .2s ease}.sub-promotions-title{font-size:.85rem;font-weight:700;color:var(--gray-600)}.sub-promotions-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.luckydraw-sub-promotions h4{font-size:.8rem;font-weight:800;color:var(--gray-400);margin:0 0 4px;text-transform:uppercase;letter-spacing:1px}.sub-promotion-item{display:flex;align-items:center;padding:12px 16px;background:#fff;border-radius:14px;border:none;box-shadow:var(--shadow-sm);transition:all .3s ease;cursor:pointer}.sub-promotion-item:hover{transform:translate(4px);box-shadow:var(--shadow-md)}.sub-promo-category{padding:4px 10px;font-size:.7rem;font-weight:700;margin-right:12px;background:linear-gradient(135deg,var(--gray-600),var(--gray-700));color:#fff;border-radius:6px;text-transform:uppercase}.sub-promo-title{font-size:.9rem;font-weight:600;color:var(--gray-800);flex:1}.sub-promo-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.btn-add-promo{width:100%;margin-top:8px;border:2px dashed var(--primary-300);background:#fff;color:var(--gray-600);padding:14px;border-radius:14px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm)}.btn-add-promo:hover{background:linear-gradient(135deg,var(--primary-500),var(--purple-500));border-color:transparent;color:#fff;border-style:solid;box-shadow:0 4px 16px #f43f5e4d;transform:translateY(-2px)}.empty-state{grid-column:1 / -1;background:#fff;box-shadow:var(--card-shadow);border-radius:var(--radius-xl);padding:80px 40px;text-align:center}.empty-state:before{content:"🎪";display:block;font-size:5rem;margin-bottom:24px}.app{max-width:1400px;margin:0 auto;padding:40px 48px;min-height:100vh}.app-header{display:flex;align-items:center;gap:20px;margin-bottom:40px;padding:0}.header-back{width:48px;height:48px;border:none;border-radius:16px;background:#fff;color:var(--gray-600);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm)}.header-back:hover{background:linear-gradient(135deg,var(--primary-500),var(--purple-500));color:#fff;transform:translate(-4px);box-shadow:var(--shadow-md)}.header-back svg{width:24px;height:24px}.header-title{margin:0;font-size:2rem;font-weight:900;background:linear-gradient(135deg,var(--primary-600),var(--purple-600));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.03em}.app-content{background:transparent}.form-section{animation:fadeIn .5s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.btn-primary{background:linear-gradient(135deg,var(--primary-500) 0%,var(--purple-500) 100%);color:#fff;border:none;padding:14px 32px;border-radius:14px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #f43f5e4d;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px #f43f5e66}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-secondary{background:#fff;color:var(--gray-700);border:2px solid var(--gray-200);padding:12px 28px;border-radius:14px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.btn-secondary:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-600);transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:10px 20px;border-radius:12px;cursor:pointer;font-weight:700;font-size:.9rem;transition:all .3s ease;box-shadow:0 4px 16px #ef44444d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ef444466}.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--gray-500);font-size:1rem;font-weight:600}.loading:before{content:"";width:24px;height:24px;border:3px solid var(--primary-100);border-top-color:var(--primary-500);border-radius:50%;margin-right:16px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
