.admin-shell{width:100vw;min-height:100vh;background:#f9f9f9}.admin-header{height:64px;padding:18px 16px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #E4E4E7;gap:12px}.admin-icon-button{width:32px;height:32px;background:transparent;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s ease;color:#000000d9}.admin-icon-button:hover{background:#1a1a1a0f}.admin-menu-icon{display:block;width:20px;height:2px;background:#1a1a1a;position:relative}.admin-menu-icon:before,.admin-menu-icon:after{content:"";position:absolute;left:0;width:20px;height:2px;background:#1a1a1a}.admin-menu-icon:before{top:-6px}.admin-menu-icon:after{top:6px}.admin-header-title{display:inline-flex;align-items:center;gap:6px;font-size:16px;font-weight:600;color:#000000e0;border:0;background:transparent;padding:6px 10px;border-radius:10px}.admin-header-title.is-clickable{cursor:pointer;transition:background .2s ease}.admin-header-title.is-clickable:hover{background:#0000000d}.admin-header-title-text{line-height:1.2}.admin-header-right{display:flex;align-items:center;gap:8px;min-width:32px;justify-content:flex-end}.admin-header-right-placeholder{display:block;width:24px;height:24px}.admin-main{padding:8px 16px 80px}.admin-search-icon{width:14px;height:14px;border:2px solid currentColor;border-radius:50%;position:relative}.admin-search-icon:after{content:"";position:absolute;width:6px;height:2px;background:currentColor;border-radius:2px;right:-2px;bottom:-2px;transform:rotate(45deg)}.admin-chevron-icon{display:inline-block;width:10px;height:10px;border:solid currentColor;border-width:0 2px 2px 0;vertical-align:middle}.admin-chevron-icon.right{transform:rotate(-45deg)}.admin-chevron-icon.left{transform:rotate(135deg)}.admin-chevron-icon.down{transform:rotate(45deg)}.admin-chevron-icon.up{transform:rotate(-135deg)}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006}.admin-drawer{position:fixed;top:0;left:-240px;width:240px;height:100vh;background:#fff;box-shadow:0 4px 16px #0000001a;transition:left .2s ease;display:flex;flex-direction:column}.admin-drawer.open{left:0}.admin-drawer-header{padding:24px 12px;border-bottom:1px solid #E4E4E7}.admin-logo{display:block;width:78px;height:auto}.admin-nav{display:flex;flex-direction:column;padding:12px;gap:8px}.admin-nav-item{text-align:left;padding:12px;border-radius:8px;border:0;background:transparent;color:#1a1a1a;font-size:14px}.admin-nav-item:hover{background:#533dff0d;color:#533dff}.admin-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 4px 8px #00000005;border:1px solid #E4E4E4}.admin-grid{display:grid;grid-template-columns:1fr;gap:8px}.admin-fab{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:26px;background:#050505;color:#fff;border:0;box-shadow:0 8px 24px #0000003d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.admin-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000047}.admin-fab-plus{position:relative;width:16px;height:16px}.admin-fab-plus:before,.admin-fab-plus:after{content:"";position:absolute;background:#fff}.admin-fab-plus:before{width:16px;height:2px;top:7px;left:0}.admin-fab-plus:after{width:2px;height:16px;top:0;left:7px}.admin-form{display:flex;flex-direction:column;gap:10px}.admin-input{display:flex;flex-direction:column;gap:6px}.admin-input input{padding:12px;border-radius:8px;border:1px solid #E4E4E4;background:#fff;color:#1e1e1e}.admin-submit{padding:14px;border-radius:12px;background:#111827;color:#fff;border:0;font-weight:600}.admin-error{color:#b42318}.admin-success{color:#057a55}.time-picker-scroll{scrollbar-width:thin;scrollbar-color:#D1D1D6 #F2F2F7}.time-picker-scroll::-webkit-scrollbar{width:4px}.time-picker-scroll::-webkit-scrollbar-track{background:#f2f2f7;border-radius:2px}.time-picker-scroll::-webkit-scrollbar-thumb{background:#d1d1d6;border-radius:2px}.time-picker-scroll::-webkit-scrollbar-thumb:hover{background:#c7c7cc}.difficulty-rating{display:inline-flex;align-items:center;gap:6px;color:#4b5563;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.difficulty-rating--no-label{gap:0}.difficulty-rating--no-label .difficulty-rating__label{display:none}.difficulty-rating--sm{gap:4px}.difficulty-rating--md{gap:6px}.difficulty-rating__stars{display:inline-flex;align-items:center;gap:2px;line-height:0}.difficulty-rating--sm .difficulty-rating__label{font-size:12px}.difficulty-rating--md .difficulty-rating__label{font-size:13px}.difficulty-rating__label{color:#4b5563;font-weight:500}.difficulty-rating__label--empty{color:#9ca3af;font-weight:500}.admin-calendar-page{display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 96px);padding-bottom:32px}.admin-calendar-status{padding:12px 16px;border-radius:12px;background:#fff;border:1px solid #e4e4e7;font-size:13px;color:#0f172ab8}.admin-calendar-card{flex:1;display:flex;flex-direction:column;background:#fff;border-radius:24px;border:1px solid #e4e4e7;box-shadow:0 18px 36px #0f172a14;overflow:hidden}.admin-calendar-weekdays{display:flex;padding:14px 12px 8px;background:#fff;border-bottom:1px solid #edeef2;gap:4px}.admin-calendar-weekdays span{flex:1;text-align:center;font-size:11px;font-weight:600;color:#0f172aa3;letter-spacing:.02em}.admin-calendar-grid{display:flex;flex-direction:column;flex:1;background:#fff}.admin-calendar-week{display:flex;flex:1;min-height:88px;min-width:0}.admin-calendar-cell{position:relative;flex:1;padding:8px 6px 10px;border-right:1px solid #f1f1f5;border-bottom:1px solid #f1f1f5;display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;min-width:0}.admin-calendar-cell:last-child{border-right:0}.admin-calendar-week:last-child .admin-calendar-cell{border-bottom:0}.admin-calendar-cell.is-empty{background:#fbfbfd}.admin-calendar-cell.is-today{background:linear-gradient(180deg,#533dff14,#533dff05);box-shadow:inset 0 0 0 1px #533dff52}.admin-calendar-day-label{min-width:26px;padding:4px 0;border-radius:999px;background:#fff;color:#020617b8;font-size:11px;font-weight:600;text-align:center;line-height:1;box-shadow:0 1px 2px #0f172a1f}.admin-calendar-cell.is-today .admin-calendar-day-label{background:#111827;color:#fff;box-shadow:none}.admin-calendar-events{width:100%;display:flex;flex-direction:column;gap:4px;align-items:stretch;min-width:0}.admin-calendar-event{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:8px;color:#fff;font-weight:600;font-size:11px;line-height:1.2;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;box-shadow:0 10px 20px #0f172a24;border:0;background:#533dff;width:100%;min-width:0;text-align:left;outline:none;overflow:hidden}.admin-calendar-event:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0f172a2e}.admin-calendar-event:focus-visible{box-shadow:0 0 0 3px #533dff59}.admin-calendar-event-title,.admin-calendar-event-meta{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-calendar-event-title{font-weight:600}.admin-calendar-event-meta{font-size:10px;font-weight:500;opacity:.8}.admin-calendar-empty{flex:1;width:100%;display:flex;align-items:center;justify-content:center;color:#0f172a4d;font-size:11px}.admin-month-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;display:flex;align-items:flex-end;justify-content:center;padding:24px 20px 40px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20}.admin-month-picker{width:100%;max-width:420px;background:#fff;border-radius:24px;padding:20px 24px 24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 32px 56px #0f172a47}.admin-month-picker-header{display:flex;align-items:center;justify-content:space-between;font-size:18px;font-weight:700;color:#0f172ae0}.admin-month-picker-nav{display:flex;align-items:center;gap:12px}.admin-month-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-month-picker-month{padding:12px 10px;border-radius:12px;border:1px solid #e4e4e7;background:#f9f9fb;font-size:14px;font-weight:600;color:#0f172ab8;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.admin-month-picker-month:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0f172a1f}.admin-month-picker-month.is-selected{background:#111827;color:#fff;border-color:#111827;box-shadow:0 16px 32px #1118276b}.admin-month-picker-month.is-current{border-color:#533dff7a;background:#533dff14;color:#323077eb}.admin-month-picker-month.is-selected.is-current{background:#533dff;border-color:#533dff}.admin-month-picker-footer{display:flex;flex-direction:column;gap:12px}.admin-month-picker-footer button{border-radius:14px;border:0;font-weight:600;padding:14px 16px;font-size:14px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.admin-month-picker-footer button:active{transform:translateY(1px)}.admin-month-picker-close{background:#0f172a0d;color:#0f172acc}.admin-month-picker-close:hover{box-shadow:0 10px 20px #0f172a24}.admin-month-picker-jump-today{background:linear-gradient(135deg,#533dff,#6b4dff);color:#fff;box-shadow:0 18px 32px #533dff59}.admin-month-picker-jump-today:hover{box-shadow:0 22px 38px #533dff6b}.booking-page{min-height:100vh;background:#f5f5f8;color:#111;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;display:flex;flex-direction:column}.booking-content{flex:1;width:100%;max-width:420px;margin:0 auto;padding:32px 18px 160px;box-sizing:border-box;display:flex;flex-direction:column;gap:24px}.booking-hero{display:flex;flex-direction:column;gap:12px}.booking-hero-row{display:flex;align-items:center;gap:12px;width:100%;flex-wrap:wrap}.booking-hero-left{display:inline-flex;align-items:center;gap:10px}.booking-hero-actions{display:inline-flex;align-items:center;gap:12px}.booking-hero-title{font-size:32px;font-weight:700;margin:0}.booking-hero-view{display:inline-flex;gap:4px}.view-toggle-button{width:36px;height:36px;border-radius:10px;border:1px solid transparent;background:transparent;color:#6b6b6b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.view-toggle-button.active{background:#111;color:#fff;border-color:#111}.booking-toolbar{display:inline-flex;align-items:center;gap:16px;margin-left:auto}.booking-filter-button{display:inline-flex;align-items:center;gap:4px;border:none;background:none;font-family:Pretendard,sans-serif;font-weight:500;font-size:14px;color:#6b6b6b;cursor:pointer;transition:opacity .2s ease}.booking-filter-button:hover{opacity:.7}.filter-badge{display:inline-flex;margin-left:2px;background:#111;color:#fff;font-size:10px;font-weight:600;padding:0 5px;border-radius:999px}.booking-filter-row{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.booking-filter-row select{padding:12px 14px;border-radius:12px;border:1px solid rgba(148,163,184,.5);background:#fff;font-size:.9rem;color:#374151}.booking-calendar-block{background:#fff;border:1px solid #E0E0EA;border-radius:18px;padding:12px;box-shadow:0 18px 40px #0f172a14;overflow:hidden}.booking-class-groups{display:flex;flex-direction:column;gap:24px}.booking-series-weeks{display:flex;flex-direction:column;gap:8px;margin-top:14px;width:100%}.booking-week-card{width:100%;text-align:left;font-family:inherit;color:inherit;border:1.4px solid #D4D4DA;border-radius:12px;padding:14px 16px;background:#fff;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.booking-week-card.selected{border-color:#111;box-shadow:0 10px 24px #11111126}.booking-week-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.booking-week-label{font-family:Pretendard,sans-serif;font-weight:700;font-size:14px;color:#111}.booking-week-meta-row{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.booking-week-meta{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#3f3f3f}.booking-week-info{display:flex;flex-direction:column;gap:6px}.booking-week-detail{margin:0;font-size:12px;color:#4a4a4a;display:flex;align-items:center;gap:6px}.booking-week-detail span{display:inline-flex;align-items:center;gap:6px}.booking-week-detail span strong{font-weight:600;color:#111}.booking-week-detail svg{color:#111;flex-shrink:0}.booking-date-group{display:flex;flex-direction:column;gap:12px}.booking-date-header{font-family:Pretendard,sans-serif;font-weight:600;font-size:14px;color:#000000bf;margin:0}.booking-date-list{display:flex;flex-direction:column;gap:20px}.booking-class-card{text-align:left;border-radius:16px;padding:22px;border:1px solid #EAEAEA;background:#fff;display:flex;flex-direction:column;gap:14px;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease;box-shadow:0 12px 28px #0f172a14}.booking-class-card.selected{border-color:#111;box-shadow:0 16px 36px #0f172a1f}.booking-card-top-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.booking-pill-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.booking-pill{display:inline-flex;align-items:center;justify-content:center;font-family:Pretendard,sans-serif;font-weight:600;font-size:11px;padding:5px 12px;border-radius:999px;background:#f0f0f4;color:#111}.booking-pill-muted{background:#f6f6fb;color:#6b6b6b}.booking-type-pill{display:inline-flex;align-items:center;justify-content:center;font-family:Pretendard,sans-serif;font-weight:600;font-size:11px;padding:5px 12px;border-radius:999px;background:#f0f0f4;color:#111}.booking-card-bottom-meta{display:inline-flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap;padding-top:2px}.booking-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#111}.booking-meta-item svg{color:#6b6b6b}.booking-meta-item.waitlist{color:#d92d20}.booking-card-top{display:flex;align-items:center;justify-content:space-between;font-size:13px}.booking-type-badge{display:inline-flex;align-items:center;justify-content:center;font-family:Pretendard,sans-serif;font-weight:600;font-size:12px;padding:0 10px;border-radius:999px;background:#f4f4f4;color:#111}.booking-price{font-family:Pretendard,sans-serif;font-weight:700;font-size:14px;color:#111}.booking-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.song-title{margin:0;font-family:Pretendard,sans-serif;font-weight:700;font-size:20px;line-height:1.4;color:#111}.artist-name{font-family:Pretendard,sans-serif;font-weight:400;font-size:13px;line-height:1.4;color:#6b6b6b}.booking-card-info{display:flex;flex-direction:column;gap:8px}.booking-info-row{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.5;color:#3f3f3f}.booking-info-row svg{color:#111;flex-shrink:0}.booking-info-description span{display:inline-flex;align-items:center;gap:6px}.booking-info-description span strong{font-weight:600;color:#111}.booking-info-description{gap:10px;flex-wrap:wrap}.booking-info-rating{display:inline-flex}.booking-info-notes{align-items:flex-start}.booking-card-footer{display:none}.booking-card-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.booking-badge{display:inline-flex;align-items:center;justify-content:center;font-family:Pretendard,sans-serif;font-weight:500;font-size:12px;line-height:2;padding:0 8px;border-radius:4px;background:#e2e2e2;color:#000;transition:background-color .2s ease,color .2s ease}.booking-class-card.selected .booking-badge{background:#533dff2e;color:#533dff}.booking-card-details{display:flex;flex-direction:column;gap:4px}.booking-detail{margin:0;font-size:13px;color:#4a4a4a}.booking-waitlist-warning{margin-top:10px;padding:10px 12px;border-radius:10px;background:#d92d2014;color:#8a1c15;font-family:Pretendard,sans-serif;font-weight:600;font-size:11px;line-height:1.5}.booking-class-card.selected .booking-waitlist-warning{background:#533dff1f;color:#2e1fb0}.booking-detail:first-child,.booking-detail:last-child{color:#000}.booking-detail:nth-child(2){color:#000000d9}.booking-detail-rating{display:inline-flex;margin-left:2px}.booking-detail-rating .difficulty-rating{display:inline-flex}.booking-detail-rating .difficulty-rating__stars{display:inline-flex;gap:2px}.booking-detail-rating .difficulty-rating__stars svg{width:14px;height:14px}.booking-detail-rating .difficulty-rating__label{display:none}.booking-empty{padding:32px;text-align:center;color:#fff6}.booking-loading,.booking-error{padding:48px 20px;text-align:center;color:#ffffff80}.booking-error button{margin-top:12px;padding:10px 18px;border-radius:12px;background:#fff;color:#111;border:none;cursor:pointer}.booking-bottom-bar{position:fixed;left:0;right:0;bottom:0;border:none;border-radius:0;padding:20px;background:#111;color:#fff;font-family:Pretendard,sans-serif;font-weight:600;font-size:17px;line-height:1.4;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:opacity .2s ease;z-index:100}.booking-bottom-bar:hover:not(:disabled){opacity:.9}.booking-bottom-bar:disabled{opacity:.5;cursor:not-allowed}.filter-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:flex-end;z-index:1100;animation:fadeIn .2s ease}.filter-modal{background:#fff;border-radius:16px 16px 0 0;width:100%;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.filter-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E6E6E6}.filter-modal-header h3{font-family:Pretendard,sans-serif;font-weight:700;font-size:18px;line-height:1.5;color:#111;margin:0}.filter-close-button{width:32px;height:32px;padding:0;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#111;transition:opacity .2s ease}.filter-close-button:hover{opacity:.7}.filter-modal-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:32px}.filter-section{display:flex;flex-direction:column;gap:12px}.filter-section-title{font-family:Pretendard,sans-serif;font-weight:600;font-size:14px;line-height:1.5;color:#111;margin:0}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-range{margin-top:8px;display:flex;flex-direction:column;gap:6px}.filter-range-label{font-size:12px;font-weight:600;color:#3a3a3a}.filter-range-inputs{display:flex;align-items:center;gap:8px}.filter-range-inputs input{width:80px;padding:8px 10px;border:1px solid #E0E0E0;border-radius:8px;font-size:12px;color:#111}.filter-range-separator{font-size:12px;color:#6b6b6b}.filter-option-button{padding:8px 16px;border:1px solid #E6E6E6;background:#fff;border-radius:20px;font-family:Pretendard,sans-serif;font-weight:500;font-size:14px;line-height:1.5;color:#111;cursor:pointer;transition:all .2s ease}.filter-option-button:hover{border-color:#533dff}.filter-option-button.active{background:#533dff;border-color:#533dff;color:#fff}.filter-modal-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #E6E6E6}.filter-reset-button{flex:1;padding:12px;border:1px solid #E6E6E6;background:#fff;border-radius:8px;font-family:Pretendard,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#111;cursor:pointer;transition:all .2s ease}.filter-reset-button:hover{background:#f5f5f5}.filter-apply-button{flex:1;padding:12px;border:none;background:#533dff;border-radius:8px;font-family:Pretendard,sans-serif;font-weight:600;font-size:16px;line-height:1.5;color:#fff;cursor:pointer;transition:all .2s ease}.filter-apply-button:hover{background:#4230d9}@media (min-width: 640px){.booking-content,.booking-bottom-button{max-width:480px}.filter-modal{max-width:480px;margin:0 auto;border-radius:16px}.filter-modal-overlay{align-items:center;padding:20px}}.cancel-class-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000}.cancel-class-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(360px,calc(100% - 48px));background:#fff;border-radius:12px;padding:16px 20px 20px;box-shadow:4px 4px 20px #533dff0d;z-index:1001;display:flex;flex-direction:column;gap:16px;box-sizing:border-box}.cancel-class-modal__title{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;font-weight:700;color:#000000d9;text-align:center;line-height:1.5;margin:0}.cancel-class-modal__subtitle{font-size:10px;font-weight:500;color:#000000d9;text-align:center;margin:0}.cancel-class-modal__textarea-wrapper{width:100%;background:#f9f9f9;border-radius:8px;padding:12px 8px;display:flex;flex-direction:column;gap:8px}.cancel-class-modal__textarea{width:100%;border:none;background:transparent;resize:none;min-height:80px;font-size:12px;font-weight:600;color:#111;line-height:1.6;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.cancel-class-modal__textarea::placeholder{color:#bababa;font-weight:600}.cancel-class-modal__textarea:focus{outline:none}.cancel-class-modal__textarea-footer{display:flex;justify-content:flex-end;font-size:10px;color:#8e8e8e}.cancel-class-modal__error{margin:0;font-size:11px;color:#e53e3e}.cancel-class-modal__progress{width:100%;height:4px;background:#ededed;border-radius:2px;overflow:hidden}.cancel-class-modal__progress-bar{width:40%;height:100%;background:#533dff;border-radius:2px;animation:cancel-class-progress 1.4s ease-in-out infinite}@keyframes cancel-class-progress{0%{transform:translate(-100%)}50%{transform:translate(50%)}to{transform:translate(150%)}}.cancel-class-modal__actions{display:flex;gap:8px;width:100%}.cancel-class-modal__button{flex:1;border:none;border-radius:8px;padding:12px 0;font-size:12px;font-weight:600;cursor:pointer;transition:opacity .2s ease}.cancel-class-modal__button--ghost{background:#f1f1f1;color:#8e8e8e}.cancel-class-modal__button--primary{background:#533dff;color:#fff}.cancel-class-modal__button:disabled{opacity:.5;cursor:not-allowed}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border-radius:var(--radius-sm);border:none;font-weight:600;font-size:var(--font-size-sm);padding:.65rem 1.25rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;box-shadow:var(--shadow-xs);background-color:transparent;color:var(--color-neutral-900)}.ui-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.ui-button--full{width:100%}.ui-button--sm{font-size:var(--font-size-xs);padding:.45rem .9rem}.ui-button--lg{font-size:var(--font-size-md);padding:.85rem 1.6rem}.ui-button--primary{background-color:var(--color-primary-500);color:var(--color-white)}.ui-button--primary:not(:disabled):hover{background-color:var(--color-primary-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ui-button--primary:not(:disabled):active{background-color:var(--color-primary-700)}.ui-button--secondary{background-color:var(--color-secondary-500);color:var(--color-white)}.ui-button--secondary:not(:disabled):hover{background-color:var(--color-secondary-600);transform:translateY(-1px)}.ui-button--danger{background-color:var(--color-danger-500);color:var(--color-white)}.ui-button--danger:not(:disabled):hover{background-color:var(--color-danger-600);transform:translateY(-1px)}.ui-button--ghost{background-color:transparent;color:var(--color-neutral-900);box-shadow:none}.ui-button--ghost:not(:disabled):hover{background-color:#0f172a0d}.ui-button--outline{background-color:transparent;color:var(--color-neutral-900);border:1px solid var(--color-neutral-200);box-shadow:none}.ui-button--outline:not(:disabled):hover{background-color:var(--color-neutral-100)}.ui-button__spinner{width:1em;height:1em;border-radius:999px;border:2px solid currentColor;border-right-color:transparent;animation:ui-button-spin .8s linear infinite}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.ui-card{background-color:var(--surface-card);border-radius:var(--radius-md);border:var(--border-default);box-shadow:var(--shadow-xs);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.ui-card--elevated{box-shadow:var(--shadow-md)}.ui-card__header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.ui-card__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-neutral-900)}.ui-card__description{font-size:var(--font-size-sm);color:var(--color-neutral-500)}.ui-text-field{display:flex;flex-direction:column;gap:var(--space-1)}.ui-text-field__label{font-weight:600;font-size:var(--font-size-sm);color:var(--color-neutral-700)}.ui-text-field__control{display:flex;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-neutral-200);padding:.75rem 1rem;background-color:var(--color-white);box-shadow:var(--shadow-xs);transition:border-color .2s ease,box-shadow .2s ease}.ui-text-field__control:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #5d45ff26}.ui-text-field__control--error{border-color:var(--color-danger-500);box-shadow:0 0 0 3px #ef444426}.ui-text-field input,.ui-text-field textarea{border:none;outline:none;width:100%;font-size:var(--font-size-md);background:transparent;color:var(--color-neutral-900)}.ui-text-field textarea{resize:vertical;min-height:120px}.ui-text-field__description{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.ui-text-field__error{font-size:var(--font-size-xs);color:var(--color-danger-600)}.ui-inline-message{border-radius:var(--radius-sm);padding:.65rem .9rem;font-size:var(--font-size-sm);display:flex;align-items:center;gap:var(--space-2)}.ui-inline-message--info{background-color:#5d45ff1f;color:var(--color-primary-700)}.ui-inline-message--success{background-color:#10b9811f;color:var(--color-success-600)}.ui-inline-message--warning{background-color:#f59e0b1f;color:var(--color-warning-600)}.ui-inline-message--error{background-color:#ef444424;color:var(--color-danger-600)}.login-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:48px 20px 32px;background:#fff}.login-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:24px}.login-header{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.login-title{margin:0;font-size:24px;font-weight:700;color:#111;line-height:1.4}.login-form{display:flex;flex-direction:column;gap:12px}.login-form .ui-text-field{gap:0}.login-form .ui-text-field__control{padding:8px 12px;border:1px solid #e4e4e4;border-radius:4px;background:#fff;box-shadow:none}.login-form .ui-text-field__control:focus-within{border-color:#111;box-shadow:none}.login-form .ui-text-field input{font-size:14px;color:#111}.login-form .ui-text-field input::placeholder{color:#7f7f7f}.login-form .ui-inline-message{margin-top:4px}.login-form .ui-button{border-radius:8px;padding:12px;font-size:16px;font-weight:700;box-shadow:none}.login-form .ui-button.ui-button--primary{background:#3b3b3b;color:#fff}.login-form .ui-button.ui-button--primary:not(:disabled):hover{background:#2a2a2a;transform:none}.login-signup-link{align-self:center;font-size:14px;color:gray;font-weight:600;text-decoration:underline}.login-signup-link:hover{color:#5f5f5f}.login-subtitle{margin:0;font-size:13px;color:#6f6f6f}.login-links{display:flex;justify-content:center}.signup-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:64px 20px 40px;background:#fff}.signup-card{width:100%;max-width:313px;display:flex;flex-direction:column;gap:20px}.signup-header{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.signup-title{margin:0;font-size:24px;font-weight:700;color:#111;line-height:1.4}.signup-form{display:flex;flex-direction:column;gap:12px}.signup-form .ui-text-field{gap:0}.signup-form .ui-text-field__control{padding:10px 12px;border:1px solid #e4e4e4;border-radius:4px;background:#fff;box-shadow:none}.signup-form .ui-text-field__control:focus-within{border-color:#111;box-shadow:none}.signup-form .ui-text-field input{font-size:14px;color:#111}.signup-form .ui-text-field input::placeholder{color:#7f7f7f}.signup-agreements{display:flex;flex-direction:column;gap:12px;margin-top:4px}.signup-agreements input[type=checkbox]{width:16px;height:16px;accent-color:#111111}.signup-agreement-all{display:flex;align-items:center;gap:8px;font-size:14px;color:#111;font-weight:600}.signup-agreement-list{display:flex;flex-direction:column;gap:6px}.signup-agreement-item{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#111;padding:4px 0}.signup-agreement-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.signup-agreement-item label{display:flex;align-items:center;gap:8px;line-height:1.4;cursor:pointer}.agreement-view{border:none;background:transparent;font-size:12px;color:#7f7f7f;text-decoration:underline;cursor:pointer;padding:0}.agreement-detail{margin-left:20px;padding:8px 10px;background:#f7f7f7;border-radius:4px;font-size:12px;color:#5f5f5f;line-height:1.5;white-space:pre-line}.signup-form .ui-inline-message{margin-top:4px}.signup-form .ui-button{border-radius:4px;padding:12px;font-size:16px;font-weight:700;box-shadow:none;height:45px}.signup-form .ui-button.ui-button--primary{background:#3b3b3b;color:#fff}.signup-form .ui-button.ui-button--primary:not(:disabled):hover{background:#2a2a2a;transform:none}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(93,69,255,.08),transparent 55%),radial-gradient(circle at bottom,rgba(93,69,255,.05),transparent 45%),var(--surface-page);padding:var(--space-6) var(--space-4)}.auth-layout__card{width:min(420px,100%);gap:var(--space-4)}.auth-layout__header{display:flex;flex-direction:column;gap:var(--space-2);text-align:center}.auth-layout__title{font-size:2rem;font-weight:800;color:var(--color-neutral-900);margin:0}.auth-layout__subtitle{font-size:var(--font-size-sm);color:var(--color-neutral-500)}.auth-layout__form,.auth-layout__form form{display:flex;flex-direction:column;gap:var(--space-3)}.auth-layout__footer{display:flex;justify-content:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-neutral-500)}.auth-layout__footer a{color:var(--color-primary-500);font-weight:600;text-decoration:none}.auth-layout__footer a:hover{text-decoration:underline}.home-page{min-height:100vh;background:#fff;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#111;padding-bottom:0}.welcome-banner-section{width:100%;max-width:100%;display:flex;gap:10px;align-items:flex-start;justify-content:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px}.welcome-banner-section::-webkit-scrollbar{display:none}.welcome-banner-card{background:#f3f3f3;border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:24px;width:240px;min-width:240px;height:140px;justify-content:flex-end;transition:opacity .2s ease,transform .2s ease;box-sizing:border-box;flex-shrink:0}.welcome-banner-card:hover{opacity:.9;transform:translateY(-1px)}.welcome-banner-content{display:flex;flex-direction:column;gap:8px}.welcome-banner-title{font-family:Pretendard,sans-serif;font-weight:700;font-size:18px;line-height:1.2;color:#1e1e1e;margin:0}.welcome-banner-title p{margin:0;line-height:1.5}.welcome-banner-description{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.4;color:#1e1e1e;margin:0}.section{padding:16px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.section-title{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:1.5;text-align:center;color:#111;margin:0}.class-types-grid{display:flex;flex-wrap:wrap;gap:8px;width:100%;max-width:312px;justify-content:flex-start}.class-type-card{background:#f3f3f3;border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;width:152px;box-shadow:4px 4px 8px #00000005}.class-type-name{font-family:Pretendard,sans-serif;font-weight:700;font-size:14px;line-height:1.5;color:#111;margin:0;text-align:left}.class-type-details{display:flex;flex-direction:column;gap:4px}.class-type-detail{font-family:Pretendard,sans-serif;font-weight:500;font-size:10px;line-height:1.4;color:#111;margin:0;white-space:pre-wrap}.instructors-grid{display:flex;gap:8px;width:100%;max-width:312px;align-items:stretch}.instructor-card-new{flex:1;display:flex;flex-direction:column;gap:8px;padding:0;border-radius:8px;background:#fff;box-shadow:4px 4px 8px #00000005}.instructor-photo-wrapper{width:100%;height:200px;border-radius:8px;overflow:hidden;position:relative;background:#d9d9d9}.instructor-photo{width:100%;height:200px;object-fit:cover;display:block}.instructor-info{display:flex;gap:8px;align-items:center;justify-content:flex-start;padding:0 4px 4px}.instructor-name{font-family:Pretendard,sans-serif;font-weight:600;font-size:18px;line-height:1.5;color:#111}.instagram-icon-button{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.instagram-icon-button:hover{opacity:.8}.instagram-icon-button:focus-visible{outline:2px solid #111111;outline-offset:2px}.instagram-mark{position:relative;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.instagram-mark img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.links-section{background:#fff}.links-container{width:100%;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;max-width:312px}.links-container.center-when-fit{justify-content:center}.links-container::-webkit-scrollbar{display:none}.link-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;background:#f3f3f3;border:none;border-radius:8px;cursor:pointer;box-shadow:4px 4px 8px #00000005;transition:opacity .2s ease;text-decoration:none;color:inherit;min-width:0}.link-button:hover{opacity:.8}.link-icon{width:20px;height:20px;color:#111;flex-shrink:0}.link-button span{font-family:Pretendard,sans-serif;font-weight:700;font-size:12px;line-height:1.5;color:#111}.suggestion-section{padding:24px 24px 48px}.suggestion-content{width:100%;max-width:312px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.suggestion-question{font-family:Pretendard,sans-serif;font-weight:700;font-size:14px;line-height:1.5;color:#111;margin:0}.suggestion-description{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5;color:#111;display:flex;flex-direction:column;gap:0}.suggestion-description p{margin:0}.suggestion-form{width:100%;display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-top:8px}.suggestion-textarea{width:100%;min-height:80px;padding:8px;border:1px solid #e4e4e4;border-radius:8px;background-color:#f3f3f3;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;line-height:1.5;color:#111;resize:vertical;outline:none;transition:border-color .2s ease,background-color .2s ease;box-sizing:border-box}.suggestion-textarea:focus{border-color:#111;background-color:#fff}.suggestion-error{width:100%;padding:8px;background:#fff5f5;border-radius:8px;color:#e53e3e;font-size:12px;line-height:1.5;text-align:left}.suggestion-success{width:100%;padding:8px;background:#f0fdf4;border-radius:8px;color:#16a34a;font-size:12px;line-height:1.5;text-align:left}.suggestion-submit-button{width:100%;padding:12px;background:#3b3b3b;border:none;border-radius:8px;color:#fff;font-family:Pretendard,sans-serif;font-weight:600;font-size:14px;line-height:1.5;cursor:pointer;transition:opacity .2s ease}.suggestion-submit-button:hover:not(:disabled){opacity:.9}.suggestion-submit-button:disabled{opacity:.5;cursor:not-allowed}.loading-message{padding:40px;text-align:center;color:#6b6b6b;font-size:14px;width:100%}.banner-section{padding:16px 0 16px 24px}.banner-scroll{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-right:24px}.banner-scroll.center-when-fit{justify-content:center}.banner-scroll::-webkit-scrollbar{display:none}.banner-card{flex-shrink:0;width:calc(100vw - 48px);max-width:312px;height:160px;background:#111;border-radius:8px;padding:12px 20px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;box-shadow:4px 4px 8px #00000005}.banner-content{width:100%;display:flex;flex-direction:column;gap:8px}.banner-title{font-family:Pretendard,sans-serif;font-weight:700;font-size:20px;line-height:1.4;color:#fff;margin:0}.banner-description{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.4;color:#fff;margin:0}.instruction-page{min-height:calc(100vh - 64px);background:#f9f9f9;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:#111;padding:20px 24px 24px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.instruction-content{width:100%;max-width:361px;display:flex;flex-direction:column;gap:24px;align-items:flex-start}.instruction-title{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:40px;color:#111;margin:0}.instruction-image-container{background:#fff;border-radius:8px;padding:0;width:100%;min-height:451px;display:flex;flex-direction:column;gap:24px;align-items:center;box-shadow:0 1px 3px #0000001a}.instruction-image-card{display:flex;flex-direction:column;gap:8px;align-items:center;width:100%;max-width:480px;margin:0}.instruction-image{width:100%;max-width:480px;border-radius:6px;border:1px solid #f0f0f0;background:#fafafa;object-fit:contain}.instruction-image-caption{font-size:12px;color:#666;word-break:break-all;text-align:center}.cash-refund-page{min-height:100vh;background:#f9f9f9;padding:64px 0 24px;display:flex;justify-content:center;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.cash-refund-content{width:100%;max-width:361px;padding:0 24px;display:flex;flex-direction:column;gap:24px}.cash-refund-title{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:40px;color:#111;margin:0}.cash-refund-list{display:block;list-style-type:decimal;padding-left:0;margin:0;list-style-position:outside}.cash-refund-item{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5;color:#111;margin-bottom:8px;padding-left:1.5em;margin-left:0}.cash-refund-item:last-child{margin-bottom:0}.cash-refund-text{font-size:12px;line-height:1.5}.cash-refund-bold{font-family:Pretendard,sans-serif;font-weight:600;font-size:12px;line-height:1.5}.cash-refund-bold-small{font-family:Pretendard,sans-serif;font-weight:600;font-size:10px;line-height:1.5}.cash-refund-example{font-family:Pretendard,sans-serif;font-weight:400;font-size:10px;line-height:1.5;color:#111;white-space:pre-line}.calendar-view{display:flex;flex-direction:column;gap:20px;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box;align-items:center}.responsive-calendar-container{width:clamp(320px,90vw,560px);max-width:100%}.calendar-card{background:#fff;border-radius:8px;padding:12px 24px;border:1px solid rgba(0,0,0,.04);box-shadow:4px 4px 20px #0000000d;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.calendar-header{display:flex;justify-content:center;align-items:center;gap:12px;padding:0 8px;margin-bottom:12px}.nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;cursor:pointer;border-radius:6px;color:#00000080;transition:background .2s ease,color .2s ease}.nav-btn:hover{background:#f5f5f5;color:#000}.month-year{font-size:16px;font-weight:600;line-height:1.75em;color:#000000d9;margin:0;min-width:120px;text-align:center;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:4px 0;width:100%;max-width:100%;box-sizing:border-box}.weekday{display:flex;align-items:center;justify-content:center;height:28px;font-size:12px;font-weight:600;color:#0009;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;height:48px;padding:4px;background:transparent;cursor:pointer;transition:background .2s ease,color .2s ease;border-radius:8px;border:1px solid transparent}.calendar-day.other-month .day-number{color:#b4b4b4}.calendar-day.other-month{cursor:default}.calendar-day.current-month{background:#f6f6f6}.calendar-day.current-month.has-classes{background:#dbdbdb}.calendar-day.has-classes:hover{background:#cfcfcf}.calendar-day.selected{background:#000!important;border-color:#000!important}.calendar-day.selected .day-number{color:#fff}.day-number{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;font-weight:500;color:#000000d9;text-align:center}.class-indicators{display:none}.date-classes-list{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0;box-sizing:border-box}.series-container{width:100%;box-sizing:border-box}.empty-state{text-align:center;padding:40px 20px;color:#666;background:#fff;border-radius:8px;box-shadow:4px 4px 20px #533dff0d;width:100%;box-sizing:border-box}.empty-state h3{font-size:16px;font-weight:600;margin:0 0 8px;color:#1a1a1a}.empty-state p{font-size:14px;line-height:1.5;margin:0}@media screen and (min-width: 768px){.responsive-calendar-container{width:clamp(360px,70vw,600px)}.date-classes-list{display:flex;flex-direction:column;gap:8px}}@media screen and (min-width: 1024px){.responsive-calendar-container{width:clamp(420px,58vw,640px)}}@media screen and (min-width: 1440px){.responsive-calendar-container{width:640px}}.booking-confirmation{min-height:100vh;background:#f5f5f8;color:#111;display:flex;flex-direction:column;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.confirm-content{flex:1;width:100%;max-width:361px;margin:0 auto;padding:32px 18px 200px;box-sizing:border-box;display:flex;flex-direction:column;gap:24px;overflow-y:auto}.confirm-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:#d92d2014;color:#8a1c15;font-family:Pretendard,sans-serif;font-size:12px;line-height:1.5}.confirm-alert svg{color:#d92d20;flex-shrink:0}.confirm-alert-body{display:flex;flex-direction:column;gap:6px}.confirm-alert-body strong{font-weight:700;font-size:13px;color:inherit}.confirm-alert-body p{margin:0}.confirm-alert-body ul{margin:0;padding-left:18px}.confirm-alert-body li{list-style:disc;font-weight:500;margin:0}.confirm-alert-duplicate{background:#f59e0b1f;color:#7c4405}.confirm-alert-duplicate svg{color:#f59e0b}.confirm-section{display:flex;flex-direction:column;gap:16px}.confirm-section-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:8px}.confirm-section-header h1{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:1.5em;color:#000000d9;margin:0}.confirm-count{font-family:Pretendard,sans-serif;font-weight:700;font-size:12px;line-height:1.5em;color:#000000d9}.confirm-class-list{display:flex;flex-direction:column;gap:12px}.confirm-card{display:flex;flex-direction:column;gap:10px;padding:18px 20px;background:#fff;border-radius:16px;border:1px solid #E6E6EF}.confirm-card.duplicate{border-color:#f59e0b66}.confirm-card-content{display:flex;flex-direction:column;gap:6px}.confirm-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;flex-wrap:wrap}.confirm-pill-group{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.confirm-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;background:#f0f0f4;border-radius:999px;font-family:Pretendard,sans-serif;font-weight:600;font-size:11px;color:#111}.confirm-pill-muted{background:#f6f6fb;color:#6b6b6b}.confirm-meta-item{display:inline-flex;align-items:center;gap:4px;font-family:Pretendard,sans-serif;font-weight:500;font-size:12px;line-height:1.5em;color:#000}.confirm-meta-item.waitlist{color:#d92d20;font-weight:600}.confirm-card-bottom-meta{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:4px}.confirm-meta-item.waitlist svg{color:currentColor;stroke:currentColor}.confirm-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.confirm-song-title{margin:0;font-family:Pretendard,sans-serif;font-weight:700;font-size:16px;line-height:1.5em;color:#000000d9}.confirm-artist-name{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5em;color:#000000d9}.confirm-card-details{display:flex;flex-direction:column;gap:6px}.confirm-waitlist-note{margin-top:8px;padding:10px 12px;border-radius:8px;background:#d92d2014;color:#8a1c15;font-family:Pretendard,sans-serif;font-weight:600;font-size:11px;line-height:1.5}.confirm-duplicate-note{margin-top:8px;padding:10px 12px;border-radius:8px;background:#f59e0b1f;color:#7c4405;font-family:Pretendard,sans-serif;font-weight:600;font-size:11px;line-height:1.5}.confirm-detail{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:Pretendard,sans-serif;font-weight:500;font-size:12px;line-height:1.5em;color:#000}.confirm-detail-rating{display:inline-flex;margin-left:2px}.confirm-detail-rating .difficulty-rating__stars{display:inline-flex;gap:2px}.confirm-detail-rating .difficulty-rating__stars svg{width:14px;height:14px}.confirm-detail-rating .difficulty-rating__label{display:none}.confirm-notes-input{width:100%;padding:12px;background:#f8f8fa;border:1px solid #E6E6EF;border-radius:12px;font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5em;color:#000;box-sizing:border-box}.confirm-notes-input::placeholder{color:#00000080}.confirm-notes-input:focus{outline:none;border-color:#111;background:#fff}.balance-section h2{font-family:Pretendard,sans-serif;font-weight:700;font-size:18px;line-height:1.333em;color:#000;margin:0 0 8px}.balance-status{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5em;color:#4a4a4a;margin:0 0 2px}.confirm-balance-box{display:flex;flex-direction:column;gap:12px;padding:20px;background:#fff;border-radius:16px;border:1px solid #E6E6EF}.confirm-balance-row{display:flex;justify-content:space-between;align-items:center;font-family:Pretendard,sans-serif;font-weight:600;font-size:13px;line-height:1.4;color:#111}.confirm-balance-row span:first-child{width:100px}.balance-note-secondary{font-family:Pretendard,sans-serif;font-weight:500;font-size:12px;line-height:1.4;color:#4a4a4a;margin:0 0 8px}.guide-section h2{font-family:Pretendard,sans-serif;font-weight:700;font-size:18px;line-height:1.333em;color:#000;margin:0 0 8px}.guide-list{margin:0;padding-left:20px;font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5em;color:#4a4a4a}.guide-list li{margin-bottom:6px}.guide-list li:last-child{margin-bottom:0}.agreement-section h2{font-family:Pretendard,sans-serif;font-weight:700;font-size:18px;line-height:1.333em;color:#000;margin:0 0 8px}.confirm-agreement{display:flex;flex-direction:column;gap:16px;padding:20px;background:#fff;border-radius:16px;border:1px solid #E6E6EF;margin-bottom:8px}.agreement-title{font-family:Pretendard,sans-serif;font-weight:600;font-size:12px;line-height:1.5em;color:#000;margin:0}.agreement-content{display:flex;flex-direction:column;gap:8px}.agreement-content p{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5em;color:#000;margin:0;white-space:pre-line}.agreement-content strong{font-weight:600}.confirm-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.confirm-checkbox input[type=checkbox]{width:16px;height:16px;border:1px solid #C8C8D9;border-radius:4px;cursor:pointer;flex-shrink:0}.confirm-checkbox span{font-family:Pretendard,sans-serif;font-weight:600;font-size:12px;line-height:1.5em;color:#000}.confirm-bottom-bar{position:fixed;bottom:0;left:0;right:0;background:#111;padding:0;display:flex;align-items:stretch;box-shadow:0 -6px 24px #0f172a4d;z-index:100}.confirm-bottom-button{flex:1;height:64px;border:none;border-radius:0;font-family:Pretendard,sans-serif;font-weight:600;font-size:16px;line-height:1.2;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:opacity .2s ease}.confirm-bottom-button.primary{background:transparent;color:#fff}.confirm-bottom-button.secondary{background:#ffffff40;color:#fff;font-weight:600}.confirm-bottom-button:disabled{opacity:.35;cursor:not-allowed}.confirm-bottom-button:not(:disabled):hover{opacity:.95}.all-agree-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;font-size:12px;color:#111}.all-agree-checkbox input[type=checkbox]{width:16px;height:16px;border:1px solid #C8C8D9;border-radius:4px;background:#fff;cursor:pointer;flex-shrink:0}.all-agree-checkbox span{font-weight:600}@media (min-width: 640px){.confirm-content{max-width:480px;margin:0 auto}.confirm-bottom-button{max-width:480px}}.booking-success{min-height:100vh;background:#f5f5f8;color:#111;display:flex;flex-direction:column;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.success-content{flex:1;width:100%;max-width:361px;margin:0 auto;padding:32px 18px 80px;box-sizing:border-box;display:flex;flex-direction:column;gap:24px}.success-header{display:flex;flex-direction:column;gap:12px}.success-header h1{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:1.5em;color:#000000d9;margin:0}.success-header p{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5em;color:#000;margin:0}.success-class-list{display:flex;flex-direction:column;gap:8px}.success-class-card{display:flex;flex-direction:column;gap:8px;padding:16px 20px;background:#fff;border-radius:8px;box-shadow:4px 4px 20px #0000000d}.success-card-chip-row{display:flex;flex-wrap:wrap;gap:6px}.success-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;min-height:24px;background:#f0f0f0;border-radius:4px;font-family:Pretendard,sans-serif;font-weight:500;font-size:12px;color:#000}.success-chip--muted{color:#6b6b6b}.success-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px}.success-song-title{margin:0;font-family:Pretendard,sans-serif;font-weight:700;font-size:14px;line-height:1.5em;color:#000000e6}.success-artist-name{font-family:Pretendard,sans-serif;font-weight:400;font-size:10px;line-height:1.5em;color:#000000b3}.success-card-info{display:flex;flex-direction:column;gap:6px}.success-info-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:Pretendard,sans-serif;font-weight:500;font-size:10px;line-height:1.5em;color:#000000d9}.success-detail-rating{display:inline-flex;margin-left:2px}.success-detail-rating .difficulty-rating__stars{display:inline-flex;gap:2px}.success-detail-rating .difficulty-rating__stars svg{width:14px;height:14px}.success-detail-rating .difficulty-rating__label{display:none}.success-card-meta{display:flex;gap:12px;flex-wrap:wrap}.success-meta-item{display:inline-flex;align-items:center;gap:8px;font-family:Pretendard,sans-serif;font-weight:500;font-size:10px;color:#000000d9}.success-guide-box{width:100%;border-radius:4px;border:1px solid #c5c5c5;background:#f9f9f9;padding:8px}.success-guide-box p{margin:0;font-size:10px;color:#0000008c;line-height:1.4}.success-actions{display:flex;flex-direction:column;gap:12px}.success-action-button{width:100%;padding:18px;background:#111;border:none;border-radius:14px;font-family:Pretendard,sans-serif;font-weight:600;font-size:16px;line-height:1.5em;text-align:center;color:#fff;cursor:pointer;transition:opacity .2s ease}.success-action-button.secondary{background:#fff;color:#111;border:1px solid #C8C8D9}.success-action-button:hover{opacity:.9}.success-action-button:active{opacity:.8}@media (min-width: 640px){.success-content{max-width:480px;margin:0 auto}.success-action-button{max-width:480px}}.my-page{min-height:100vh;background:transparent;padding:32px 18px 48px;display:flex;flex-direction:column;align-items:stretch;gap:28px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;width:100%;max-width:361px;box-sizing:border-box;margin:0 auto}.my-page-loading{padding:40px;text-align:center;color:#666;font-size:14px}.my-page-section{width:100%;display:flex;flex-direction:column;gap:16px;padding:24px;background:#fff;border-radius:8px;box-shadow:4px 4px 16px #00000005;box-sizing:border-box}.section-title{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:1.5em;color:#000000d9;margin:0}.info-content{display:flex;flex-direction:column;gap:4px}.info-row{display:flex;align-items:center;justify-content:flex-start;gap:0}.info-label{font-family:Pretendard,sans-serif;font-weight:700;font-size:12px;line-height:2em;color:#000;width:80px;flex-shrink:0}.info-value{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:2em;color:#000;flex:1}.section-button{width:100%;padding:16px;background:#533dff;border:none;border-radius:8px;font-family:Pretendard,sans-serif;font-weight:500;font-size:14px;line-height:1.5em;text-align:center;color:#fff;cursor:pointer;transition:opacity .2s ease}.section-button:hover{opacity:.9}.section-button:active{opacity:.8}.mypage-panel{width:100%;display:flex;flex-direction:column;gap:16px;padding:24px;background:#fff;border-radius:8px;box-shadow:4px 4px 8px #00000005;box-sizing:border-box}.mypage-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.mypage-panel__title{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:1.5;color:#000000d9;margin:0;height:36px}.mypage-info-list{display:flex;flex-direction:column;gap:4px}.mypage-info-item{display:flex;align-items:center;gap:0;width:100%}.mypage-info-label{font-family:Pretendard,sans-serif;font-weight:600;color:#3b3b3b;font-size:14px;width:100px;flex-shrink:0;line-height:1.5}.mypage-info-value{flex:1;font-family:Pretendard,sans-serif;font-weight:400;font-size:14px;color:#000;text-align:left;line-height:1.5}.mypage-info-input{flex:1;background:#fff;border:1px solid #e8e8e8;border-radius:4px;padding:4px 8px;font-family:Pretendard,sans-serif;font-weight:400;font-size:14px;color:#000;line-height:1.5;outline:none;box-sizing:border-box}.mypage-info-input:focus{border-color:#533dff}.mypage-info-input:disabled{background:#f5f5f5;cursor:not-allowed}.mypage-input-helper{margin-top:4px;font-size:10px;line-height:1.4;color:#6b6b6b}.mypage-input-group{flex:1;display:flex;flex-direction:column;gap:2px}.mypage-panel__action{width:100%;background:#3b3b3b;border:none;border-radius:8px;padding:16px;font-family:Pretendard,sans-serif;font-weight:500;font-size:14px;color:#fff;cursor:pointer;transition:opacity .2s ease;height:40px;display:flex;align-items:center;justify-content:center}.mypage-panel__action:hover{opacity:.9}.mypage-edit-actions{display:flex;gap:16px;width:100%}.mypage-edit-button{flex:1;height:40px;border:none;border-radius:8px;padding:16px;font-family:Pretendard,sans-serif;font-weight:500;font-size:14px;cursor:pointer;transition:opacity .2s ease;display:flex;align-items:center;justify-content:center;line-height:1.5}.mypage-edit-button:disabled{opacity:.5;cursor:not-allowed}.mypage-edit-button--cancel{background:#e4e4e4;color:#3b3b3b}.mypage-edit-button--cancel:hover:not(:disabled){opacity:.9}.mypage-edit-button--save{background:#3b3b3b;color:#fff}.mypage-edit-button--save:hover:not(:disabled){opacity:.9}.mypage-balance-table{display:flex;flex-direction:column;gap:8px}.mypage-balance-row{display:flex;align-items:center;gap:12px}.mypage-balance-row .mypage-info-label{width:90px;white-space:nowrap}.mypage-balance-value{font-size:16px;font-weight:400;color:#111;flex:1;white-space:nowrap;min-width:0}.mypage-link-button{background:none;border:none;font-size:12px;font-weight:600;color:#111;cursor:pointer;padding:4px 0;text-decoration:underline}.section-divider{width:100%;height:0;margin:12px 0}.classes-section{gap:12px}.classes-panel,.transactions-panel{gap:16px}.classes-tabs{display:flex;flex-direction:column;gap:8px;position:relative;padding-bottom:4px}.tabs-wrapper{display:flex;align-items:center;gap:20px}.tab-button{background:none;border:none;padding:4px 0 6px;font-family:Pretendard,sans-serif;font-weight:500;font-size:14px;line-height:1.5;color:#a4a4b9;cursor:pointer;transition:color .2s ease}.tab-button--cancelled{font-size:14px}.tab-button.active{font-weight:700;color:#111}.tab-underline{position:absolute;bottom:0;height:3px;width:0;border-radius:999px;background:#111;transition:transform .2s ease,width .2s ease}.past-filter-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;margin-bottom:8px}.past-filter-button{border:1px solid #e4e4e4;border-radius:999px;background:#f7f7f7;padding:6px 12px;font-family:Pretendard,sans-serif;font-size:12px;font-weight:600;color:#6b6b6b;cursor:pointer;transition:all .15s ease}.past-filter-button:hover{border-color:#111;color:#111}.past-filter-button.active{background:#111;color:#fff;border-color:#111}.classes-list{display:flex;flex-direction:column;gap:14px;width:100%;align-items:stretch}.classes-empty{padding:36px 20px;text-align:center;font-family:Pretendard,sans-serif;font-weight:400;font-size:15px;line-height:1.5em;color:#9a9ab0;border-radius:18px;background:#f5f5f9}.mypage-class-card{display:flex;flex-direction:column;gap:12px}.mypage-booking-card{cursor:default;border-color:#ececf4}.mypage-booking-card.waitlisted{border-color:#ffe0e0;box-shadow:0 16px 36px #d92d2014}.mypage-top-chips{display:inline-flex;align-items:center;gap:6px;margin-left:auto}.mypage-waitlist-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#d92d201f;color:#d92d20;font-size:12px;font-weight:600}.mypage-series-chip{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#533dff1f;color:#533dff;font-size:12px;font-weight:600}.mypage-booking-card-actions{display:flex;justify-content:flex-end;margin-top:12px}.mypage-booking-card-action{border:none;background:none;font-size:13px;font-weight:600;color:#111;cursor:pointer;transition:opacity .2s ease;padding:0}.mypage-booking-card-action.outline{color:#6a6a77}.mypage-booking-card-action:hover{opacity:.7}.myclasses-card{width:100%;background:#fff;border-radius:8px;padding:16px 20px;box-shadow:4px 4px 20px #0000000d;display:flex;flex-direction:column;gap:10px}.myclasses-card.waitlisted{border:1px solid rgba(217,45,32,.2);box-shadow:4px 4px 20px #d92d2014}.myclasses-card__chip-row{display:flex;flex-wrap:wrap;gap:6px}.myclasses-chip{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;background:#e2e2e2;font-size:12px;font-weight:600;color:#111}.myclasses-chip--muted{background:#f3f3f3;color:#6b6b6b}.myclasses-chip--accent{background:#533dff1f;color:#533dff}.myclasses-chip--waitlist{background:#d92d201f;color:#d92d20}.myclasses-card__title-row{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.myclasses-card__title{margin:0;font-size:14px;font-weight:700;color:#000000e6}.myclasses-card__artist{font-size:10px;color:#000000a6;letter-spacing:.2px}.myclasses-card__info{display:flex;flex-direction:column;gap:6px}.myclasses-card__info-row{display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.5;color:#000000d9}.myclasses-card__info-row--alert{color:#000}.myclasses-card__info-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center;color:#111;margin-top:2px;flex-shrink:0}.myclasses-card__info-icon svg{width:14px;height:14px}.myclasses-card__info-content{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.myclasses-week-details{color:#6b6b6b}.myclasses-rating{margin-left:4px}.myclasses-rating .difficulty-rating__stars svg{width:12px;height:12px}.myclasses-card__action{margin-top:4px;align-self:flex-start;border:none;background:none;font-size:10px;font-weight:700;color:#979797;cursor:pointer;padding:0}.myclasses-card__action:disabled{opacity:.4;cursor:not-allowed}.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;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:400px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E8E8F7}.modal-header h3{font-family:Pretendard,sans-serif;font-weight:700;font-size:18px;line-height:1.5em;color:#000000d9;margin:0}.modal-close-button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:20px;color:#666;cursor:pointer;border-radius:4px;transition:all .2s ease;padding:0}.modal-close-button:hover{background:#f5f5f5;color:#000}.modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.modal-field{display:flex;flex-direction:column;gap:8px}.modal-field label{font-family:Pretendard,sans-serif;font-weight:600;font-size:14px;line-height:1.5em;color:#000000d9}.modal-field input{width:100%;padding:12px 16px;border:1px solid #E8E8F7;border-radius:8px;font-family:Pretendard,sans-serif;font-weight:400;font-size:14px;line-height:1.5em;color:#000;background:#fff;transition:all .2s ease;box-sizing:border-box}.modal-field input::placeholder{color:#a4a4b9}.modal-field input:focus{outline:none;border-color:#533dff;box-shadow:0 0 0 3px #533dff1a}.modal-field input:disabled{background:#f5f5f5;cursor:not-allowed}.modal-footer{display:flex;gap:12px;padding:16px 24px;border-top:1px solid #E8E8F7}.modal-button{flex:1;padding:12px;border-radius:8px;font-family:Pretendard,sans-serif;font-weight:600;font-size:14px;line-height:1.5em;cursor:pointer;transition:all .2s ease;border:none}.modal-button.cancel{background:#f5f5f5;color:#0009}.modal-button.cancel:hover{background:#e8e8f7}.modal-button.confirm{background:#533dff;color:#fff}.modal-button.confirm:hover{background:#4532e6}.modal-button:disabled{opacity:.5;cursor:not-allowed}.transaction-list{display:flex;flex-direction:column;gap:16px;width:100%}.transaction-empty{padding:40px 20px;text-align:center;font-family:Pretendard,sans-serif;font-weight:400;font-size:14px;line-height:1.5em;color:#a4a4b9}.transaction-item{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-bottom:1px solid #F0F0F0}.transaction-item:last-child{border-bottom:none}.transaction-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.transaction-type-wrapper{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.transaction-type{font-family:Pretendard,sans-serif;font-weight:600;font-size:12px;line-height:1em;color:#1e1e1e}.transaction-class-info{font-family:Pretendard,sans-serif;font-weight:400;font-size:10px;line-height:1.2em;color:#6b6b6b;word-break:break-word}.transaction-amount{font-family:Pretendard,sans-serif;font-weight:700;font-size:15px;line-height:1em;text-align:right}.transaction-amount.positive,.transaction-amount.negative{color:#111}.transaction-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:8px}.transaction-details{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.transaction-payment-details{font-family:Pretendard,sans-serif;font-weight:500;font-size:12px;line-height:1.2em;color:#3a3a3a}.transaction-note{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.2em;color:#6b6b6b;word-break:break-word}.transaction-date{font-family:Pretendard,sans-serif;font-weight:500;font-size:12px;line-height:1.2em;color:#8e8e8e;text-align:right}.transaction-balance{margin-top:6px;display:flex;flex-direction:column;gap:2px}.transaction-balance-line{font-family:Pretendard,sans-serif;font-weight:600;font-size:12px;line-height:1.2em;color:#111}@media (min-width: 640px){.my-page{max-width:480px;margin:0 auto}.section-divider{width:calc(100% + 48px)}}.point-modal{width:90%;max-width:360px;padding:24px;border-radius:16px}.point-modal__header{border-bottom:none;padding:0 0 16px}.point-modal__header h3{font-size:20px;font-weight:700}.point-modal__body{display:flex;flex-direction:column;gap:12px}.point-modal__list{display:flex;flex-direction:column;gap:8px}.point-modal__row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:14px;border-bottom:1px solid #f0f0f0}.point-modal__row:last-child{border-bottom:none}.point-modal__row-amount{font-weight:600;color:#111}.point-modal__row-expiry{font-weight:500;color:#6b6b6b}.point-modal__empty{padding:40px 0;text-align:center;color:#6b6b6b;font-size:14px}.point-modal__footer{display:flex;justify-content:center;padding-top:16px}.point-modal__close-button{width:100%;border:none;border-radius:12px;padding:12px 0;font-weight:600;font-size:14px;background:#3b3b3b;color:#fff;cursor:pointer}.point-charge{width:100%;min-height:calc(100vh - 64px);background-color:#f7f7f7;display:flex;flex-direction:column;box-sizing:border-box;position:relative;padding:20px 24px 100px}.charge-content-container{display:flex;flex-direction:column;gap:20px;align-items:center;width:100%}.responsive-charge-container{width:50vw!important;max-width:50vw!important;min-width:320px!important}.charge-header,.charge-table-wrapper{margin-bottom:0}.page-title{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:24px;line-height:1.5em;color:#111;margin:0}.table-container{display:flex;flex-direction:column}.table-header{background:#ececec;border-bottom:1px solid #C8C8C8}.header-row{padding:12px;box-sizing:border-box}.header-content{display:flex;justify-content:space-between;align-items:stretch;gap:16px}.header-label{font-family:SUITE,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:10px;line-height:1.5em;color:#111;text-align:left}.table-row{background:#fff;border-bottom:1px solid #CACACA;cursor:pointer;transition:background-color .2s ease}.table-row:hover{background:#f2f2f2}.table-row.selected{background:#ededed;border-color:#111}.row-content{padding:12px;box-sizing:border-box}.option-info{display:flex;justify-content:space-between;align-items:center;gap:16px}.coins-text{font-family:SUITE,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:14px;line-height:1.7142857142857142em;color:#000;flex:1;text-align:left}.price-info{display:flex;flex-direction:row;align-items:center;gap:8px;text-align:left}.special-text{font-family:SUITE,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:10px;line-height:1.2em;color:#111;background:#0000000f;padding:2px 6px;border-radius:4px;white-space:nowrap}.original-price{font-family:SUITE,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:10px;line-height:2.4em;color:#9a9a9a;text-decoration:line-through}.final-price{font-family:SUITE,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:14px;line-height:1.7142857142857142em;color:#000}.bottom-button{position:fixed;bottom:0;left:0;width:100%;height:64px;background:#533dff;display:flex;justify-content:center;align-items:center;padding:0 80px;box-sizing:border-box}.charge-bottom-bar{position:fixed;bottom:0;left:0;right:0;background:#111;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 -4px 12px #00000026;z-index:1000}.selected-info{display:flex;flex-direction:column;gap:2px;color:#fff}.selected-count{font-size:14px;font-weight:600;opacity:.9}.total-price{font-size:18px;font-weight:700}.charge-confirm-btn{background:#fff;color:#111;border:1px solid #C8C8C8;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;font-family:SUITE,-apple-system,BlinkMacSystemFont,system-ui,sans-serif}.charge-confirm-btn:hover{background:#f2f2f2;transform:translateY(-1px)}@media screen and (min-width: 769px){.point-charge{padding:20px 40px 100px}}.charge-input-wrapper{width:100%;display:flex;flex-direction:column;gap:20px}.charge-input-container{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.charge-input-label{font-family:Pretendard,sans-serif;font-weight:600;font-size:14px;line-height:1.5em;color:#1e1e1e;display:block;margin-bottom:12px}.charge-input-group{display:flex;align-items:center;gap:8px;margin-bottom:12px}.charge-input{flex:1;padding:14px 16px;border:2px solid #E4E4E4;border-radius:8px;background:#fff;font-family:Pretendard,sans-serif;font-weight:600;font-size:18px;line-height:1.5em;color:#1e1e1e;outline:none;transition:border-color .2s ease}.charge-input:focus{border-color:#111}.charge-input::placeholder{color:#a4a4a4;font-weight:400}.charge-input-unit{font-family:Pretendard,sans-serif;font-weight:600;font-size:16px;line-height:1.5em;color:#3a3a3a;white-space:nowrap}.charge-note{display:flex;flex-direction:column;gap:4px}.charge-note p{font-family:Pretendard,sans-serif;font-weight:400;font-size:12px;line-height:1.5em;color:#6b6b6b;margin:0}.bonus-info-container{background:#f0f0f0;border:2px solid #DCDCDC;border-radius:12px;padding:20px}.bonus-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.bonus-label{font-family:Pretendard,sans-serif;font-weight:700;font-size:14px;line-height:1.5em;color:#111}.bonus-rate{font-family:Pretendard,sans-serif;font-weight:700;font-size:16px;line-height:1.5em;color:#111;background:#00000014;padding:4px 12px;border-radius:6px}.bonus-details{display:flex;flex-direction:column;gap:12px}.bonus-amount{display:flex;align-items:baseline;gap:4px}.bonus-points{font-family:Pretendard,sans-serif;font-weight:700;font-size:24px;line-height:1.5em;color:#111}.bonus-unit{font-family:Pretendard,sans-serif;font-weight:600;font-size:16px;line-height:1.5em;color:#111}.no-bonus{font-family:Pretendard,sans-serif;font-weight:400;font-size:14px;line-height:1.5em;color:#6b6b6b}.bonus-tiers{display:flex;flex-direction:column;gap:4px;margin-top:8px}.tier-info{font-family:Pretendard,sans-serif;font-weight:400;font-size:11px;line-height:1.5em;color:#6b6b6b;margin:0}.charge-summary{background:#fff;border:1px solid #E4E4E4;border-radius:12px;padding:20px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.summary-row.total{padding-top:12px;border-top:2px solid #E4E4E4;margin-top:8px}.summary-label{font-family:Pretendard,sans-serif;font-weight:500;font-size:14px;line-height:1.5em;color:#3a3a3a}.summary-row.total .summary-label{font-weight:700;font-size:16px}.summary-value{font-family:Pretendard,sans-serif;font-weight:600;font-size:14px;line-height:1.5em;color:#1e1e1e}.summary-value.bonus{color:#111}.summary-row.total .summary-value{font-weight:700;font-size:18px}.summary-divider{height:1px;background:#e4e4e4;margin:8px 0}.charge-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.charge-agreements{display:flex;flex-direction:column;gap:12px;margin-top:4px}.charge-agreements input[type=checkbox]{width:16px;height:16px;accent-color:#111111}.charge-agreement-all{display:flex;align-items:center;gap:8px;font-size:14px;color:#1e1e1e;font-weight:600;font-family:Pretendard,sans-serif;cursor:pointer}.charge-agreement-list{display:flex;flex-direction:column;gap:6px}.charge-agreement-item{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#1e1e1e;padding:4px 0;font-family:Pretendard,sans-serif}.charge-agreement-item__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.charge-agreement-item label{display:flex;align-items:center;gap:8px;line-height:1.4;cursor:pointer}.charge-agreement-detail{margin-left:20px;padding:8px 10px;background:#f7f7f7;border-radius:4px;font-size:12px;color:#5f5f5f;line-height:1.5;white-space:pre-line;font-family:Pretendard,sans-serif}@media screen and (min-width: 1440px){.responsive-charge-container{max-width:min(50vw,720px)!important;width:min(50vw,720px)!important}}.charge-success{min-height:100vh;background-color:#f9f9f9;padding:64px 0 20px;width:100%;box-sizing:border-box}.charge-success-content{display:flex;flex-direction:column;gap:24px;padding:0 22px;max-width:361px;margin:0 auto}.charge-success-header{display:flex;flex-direction:column;gap:12px;width:100%}.charge-success-title{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:24px;line-height:1.5;color:#000000d9;margin:0}.charge-success-description{display:flex;flex-direction:column;gap:0;width:100%}.charge-success-description p{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:400;font-size:14px;line-height:1.5;color:#000;margin:0}.charge-success-actions{display:flex;flex-direction:column;gap:8px;width:100%}.charge-success-button{width:100%;background:#3b3b3b;border:none;border-radius:8px;padding:16px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:500;font-size:14px;line-height:1.5;color:#fff;text-align:center;cursor:pointer;transition:opacity .2s ease;box-sizing:border-box}.charge-success-button:hover{opacity:.9}.charge-success-button:active{opacity:.8}.suggestion-page{min-height:calc(100vh - 64px);background-color:#fff;display:flex;justify-content:center;padding:24px 24px 48px}.suggestion-container{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px;align-items:center}.suggestion-header{width:100%;display:flex;justify-content:center;align-items:center;gap:10px}.suggestion-title{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:20px;line-height:1.5;color:#111;text-align:center;margin:0}.suggestion-description{width:100%;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}.suggestion-description-title{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:700;font-size:14px;line-height:1.5;color:#111;margin:0}.suggestion-description-text{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:400;font-size:12px;line-height:1.5;color:#111;display:flex;flex-direction:column;gap:0}.suggestion-description-text p{margin:0}.suggestion-form{width:100%;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.suggestion-input-wrapper{width:100%;position:relative}.suggestion-textarea{width:100%;min-height:80px;padding:8px;border:1px solid #e4e4e4;border-radius:8px;background-color:#f3f3f3;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;line-height:1.5;color:#111;resize:vertical;outline:none;transition:border-color .2s ease;box-sizing:border-box}.suggestion-textarea:focus{border-color:#533dff;background-color:#fff}.suggestion-textarea::placeholder{color:#999}.suggestion-textarea:disabled{opacity:.6;cursor:not-allowed}.suggestion-char-count{position:absolute;bottom:8px;right:8px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:11px;color:#999;background-color:#ffffffe6;padding:2px 6px;border-radius:4px}.suggestion-form .ui-inline-message{width:100%;margin-top:4px}.suggestion-form .ui-button{width:100%;background-color:#3b3b3b;color:#fff;border:none;border-radius:8px;padding:12px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-weight:600;font-size:14px;cursor:pointer;transition:background-color .2s ease}.suggestion-form .ui-button:hover:not(:disabled){background-color:#2a2a2a}.suggestion-form .ui-button:disabled{opacity:.6;cursor:not-allowed}.mobile-header{position:fixed;top:0;left:0;right:0;height:64px;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.1);z-index:1000;display:flex;align-items:center;padding:0 24px}.header-content{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px}.logo-container{display:flex;align-items:center;text-decoration:none;height:20px;flex-shrink:0}.header-right{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:1}.header-nav-links{display:flex;align-items:center;gap:8px}.header-user-actions{display:flex;align-items:center;gap:6px}.header-link{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;font-weight:500;line-height:1em;text-decoration:none;color:#111;transition:opacity .2s ease;white-space:nowrap}.header-link:hover{opacity:.7}.profile-button{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:14px;font-weight:500;line-height:1em;color:#111;background:none;border:none;padding:4px 6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;white-space:nowrap}.profile-button:hover{opacity:.7}.logout-button{font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:1em;color:#757575;background:none;border:none;cursor:pointer;padding:4px 6px;border-radius:6px;transition:background-color .2s ease,color .2s ease}.logout-button:hover{background-color:#0000000a;color:#111}.app-footer{width:100%;background-color:#3a3a3a;color:#fff;padding:16px 24px;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto}.footer-info{display:flex;flex-direction:column;gap:8px}.footer-row{display:flex;flex-wrap:wrap;gap:0;font-size:10px;line-height:1.6;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;white-space:nowrap}.footer-label{font-weight:400;color:#fff;white-space:nowrap}.footer-value{font-weight:400;color:#fff}@media screen and (max-width: 768px){.app-footer{padding:20px 16px}.footer-row{font-size:11px;gap:6px}}body{color:var(--color-neutral-900);background-color:var(--surface-page);line-height:var(--line-height-base);padding-top:64px}body.no-header-padding{padding-top:0}.App{min-height:100vh;display:flex;flex-direction:column}.App-content{flex:1;display:flex;flex-direction:column}.home{text-align:center;padding:var(--space-8) var(--space-4);min-height:100vh;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-700) 100%);color:var(--color-white);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-4)}.home h1{font-size:3.5rem;margin-bottom:var(--space-2);font-weight:800;letter-spacing:-.025em}.home p{font-size:1.25rem;max-width:600px;opacity:.95}.nav-links{display:flex;gap:var(--space-3)}.nav-button{display:inline-flex;align-items:center;justify-content:center;background:#ffffff26;color:var(--color-white);text-decoration:none;padding:14px 28px;border-radius:var(--radius-lg);font-weight:600;border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.nav-button:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5);margin-bottom:var(--space-5);border:var(--border-default);transition:box-shadow .3s ease}.card:hover{box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:10px 20px;border-radius:var(--radius-sm);border:none;font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{color:var(--color-white);background:var(--color-primary-500)}.btn-primary:hover:not(:disabled){background:var(--color-primary-600);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-secondary{color:var(--color-white);background:var(--color-secondary-500)}.btn-secondary:hover:not(:disabled){background:var(--color-secondary-600);transform:translateY(-1px)}.btn-danger{color:var(--color-white);background:var(--color-danger-500)}.btn-danger:hover:not(:disabled){background:var(--color-danger-600);transform:translateY(-1px)}.btn-success{color:var(--color-white);background:var(--color-success-500)}.btn-success:hover:not(:disabled){background:var(--color-success-600);transform:translateY(-1px)}.btn-warning{color:var(--color-black);background:var(--color-warning-500)}.btn-warning:hover:not(:disabled){background:var(--color-warning-600);transform:translateY(-1px)}:root{--color-primary-100: #f0edff;--color-primary-400: #7a64ff;--color-primary-500: #5d45ff;--color-primary-600: #4935e6;--color-primary-700: #3d2fb3;--color-secondary-100: #f3f4f6;--color-secondary-400: #9ca3af;--color-secondary-500: #6c757d;--color-secondary-600: #5a6268;--color-success-100: #d1fae5;--color-success-500: #10b981;--color-success-600: #059669;--color-danger-100: #fee2e2;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-warning-100: #fef3c7;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-700: #374151;--color-neutral-900: #1f2937;--color-white: #ffffff;--color-black: #111827;--surface-page: var(--color-neutral-50);--surface-card: var(--color-white);--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--line-height-tight: 1.2;--line-height-base: 1.5;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-xs: 0 1px 2px rgb(15 23 42 / .08);--shadow-sm: 0 1px 3px rgb(15 23 42 / .12);--shadow-md: 0 8px 20px rgb(15 23 42 / .14);--shadow-lg: 0 16px 32px rgb(15 23 42 / .16);--border-default: 1px solid var(--color-neutral-200);--border-strong: 1px solid var(--color-neutral-400)}:root{font-family:var(--font-family-base);font-size:16px;line-height:var(--line-height-base);font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;background-color:var(--surface-page);color:var(--color-neutral-900)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--surface-page);color:var(--color-neutral-900)}#root{width:100%;min-height:100vh}*{box-sizing:border-box;font-family:inherit}
