.shop-container{padding:0}.shop-compact{background:#f9f9f9;border-radius:8px;padding:20px}.shop-compact button{color:white}.shop-compact .text-sm{color:#4b5563}.shop-compact .text-gray-600{color:#4b5563!important}.shop-item-horizontal{background:white;border:1px solid #e0e0e0;border-radius:8px;padding:20px;display:flex;align-items:center;gap:24px;margin-bottom:20px;transition:box-shadow .2s}.shop-item-horizontal:hover{box-shadow:0 4px 12px rgba(0,0,0,.1)}.shop-item-icon{font-size:32px;flex-shrink:0}.shop-item-details{flex:1}.shop-item-title{font-size:18px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:8px;color:#333}.shop-item-description{color:#666;font-size:14px;margin-bottom:8px}.shop-item-prices{display:flex;gap:20px;font-size:14px}.price-text{color:#666;font-weight:500}.shop-item-actions{display:flex;align-items:center;gap:12px}.quantity-selector{display:flex;align-items:center;gap:8px}.quantity-selector label{font-size:14px;color:#333}.quantity-selector input{width:50px;padding:6px;border:1px solid #ddd;border-radius:4px;text-align:center;color:#333;background:white;font-size:16px;font-weight:600;-moz-appearance:textfield}.quantity-selector input::-webkit-inner-spin-button,.quantity-selector input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-btn{width:32px;height:32px;border:2px solid #333;border-radius:4px;background:#f5f5f5;color:#000!important;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.qty-btn:hover:not(:disabled){background:#e0e0e0;border-color:#000}.qty-btn:active:not(:disabled){background:#d0d0d0;transform:scale(.95)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.btn-buy{padding:8px 20px;background:#10b981;color:white;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background .2s}.btn-buy:hover{background:#059669}.btn-buy:disabled{background:#ccc;cursor:not-allowed}.payment-section{background:white;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-top:16px}.payment-section h4{color:#333}.payment-methods{display:flex;gap:12px;margin-bottom:20px}.payment-method-btn{flex:1;padding:12px;border:2px solid #e0e0e0;border-radius:8px;background:white;cursor:pointer;transition:all .2s;text-align:center}.payment-method-btn:hover{border-color:#10b981;background:#f0fdf4}.payment-method-btn.selected{border-color:#10b981;background:#10b98120}.payment-method-name{font-weight:600;color:#333;margin-bottom:4px}.payment-method-price{font-size:14px;color:#666}.toss-payment-widget{margin-top:20px;padding:24px;background:#f7f7f7;border-radius:8px;border:1px solid #e0e0e0}#payment-method-widget{min-height:200px}#agreement-widget{margin-top:16px}.btn-purchase{width:100%;padding:14px;background:#10b981;color:white;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.btn-purchase:hover{background:#059669}.btn-purchase:disabled{background:#ccc;cursor:not-allowed}.shop-actions-top{display:flex;justify-content:flex-end;gap:10px;margin-bottom:20px}.btn-secondary{background:#6b7280;color:white;border:none;border-radius:6px}.btn-secondary:hover{background:#4b5563}.alert{margin-bottom:16px}.alert-danger{background-color:#fee;border:1px solid #fcc;color:#c33}.alert-success{background-color:#efe;border:1px solid #cfc;color:#3c3}.history-content{padding:20px;background:#f9f9f9;border-radius:8px}.history-section{margin-bottom:30px}.history-section h3{font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb;color:#1f2937}.history-list{display:flex;flex-direction:column;gap:12px}.history-item{background:white;border:1px solid #e0e0e0;border-radius:8px;padding:16px}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.item-name{font-weight:600;font-size:16px;color:#333}.history-details{display:flex;gap:20px;font-size:14px;color:#666}.badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600}.badge-success{background:#10b98120;color:#059669}.badge-warning{background:#fbbf2420;color:#d97706}.badge-danger{background:#ef444420;color:#dc2626}.badge-info{background:#3b82f620;color:#2563eb}.badge-secondary{background:#6b728020;color:#4b5563}.btn-refund{margin-top:12px;padding:6px 12px;background:#ef4444;color:white;border:none;border-radius:4px;font-size:14px;cursor:pointer}.btn-refund:hover{background:#dc2626}.no-data{color:#9ca3af;padding:40px}@media screen and (max-width:768px){.shop-compact{padding:12px}.shop-item-horizontal{flex-direction:column;padding:16px;gap:12px}.shop-item-icon{font-size:28px}.shop-item-title{font-size:16px}.shop-item-actions,.shop-item-prices{flex-direction:column;gap:8px}.shop-item-actions{width:100%}.quantity-selector{width:100%;justify-content:center;gap:12px}.quantity-selector input{width:60px}.qty-btn{width:40px;height:40px;font-size:20px}.btn-buy{width:100%;padding:12px}.payment-methods{flex-direction:column}.payment-method-btn{width:100%}.history-details{flex-direction:column;gap:4px}.history-header{flex-direction:column;align-items:flex-start;gap:8px}.btn-purchase{position:sticky;bottom:0;margin-top:16px;z-index:10;box-shadow:0 -2px 10px rgba(0,0,0,.1)}.payment-section{padding-bottom:80px}}@media screen and (max-width:480px){.shop-item-horizontal{padding:12px}.shop-item-title{font-size:15px}.price-text,.quantity-selector label,.shop-item-description{font-size:13px}.payment-method-name{font-size:14px}.payment-method-price{font-size:13px}.shop-compact{padding-bottom:20px}}.modal-content{border-radius:12px;padding:24px;max-width:min(500px,90vw);max-height:85vh;overflow-y:auto}.modal-content h3{font-size:16px;font-weight:600}.modal-body{margin:20px 0}.modal-body label{font-weight:600;color:#333}.modal-body textarea{border-radius:6px;color:#333}.help-text{margin-top:8px;font-size:12px;color:#666;line-height:1.4}.modal-actions{gap:12px}.btn-primary{padding:8px 20px;background:#10b981;color:white;border:none;border-radius:6px;font-weight:600;cursor:pointer}.btn-primary:hover{background:#059669}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.admin-container{padding:20px;max-width:1400px;margin:0 auto;min-height:100vh;background:#fafafa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.dark .admin-container{background:#1a1a1a}.dark .access-denied{background:#2a2a2a}.dark .access-denied p{color:#aaa}.dark .admin-header{background:#2a2a2a;border-bottom:1px solid #404040}.dark .admin-tabs{border-bottom:2px solid #404040}.dark .tab{color:#aaa}.dark .tab:hover{color:#ddd}.dark .tab.active{color:#fff}.dark .tab.active:after{background:#fff}.dark .alert-danger{background-color:#2a2a2a;color:#aaa;border:1px solid #404040;border-left:3px solid #aaa}.dark .alert-success{background-color:#2a2a2a;color:#fff;border:1px solid #404040;border-left:3px solid #fff}.dark .stats-section{border-bottom:1px solid #404040}.dark .stats-section h2{color:#ddd}.dark .stats-grid{border:1px solid #404040}.dark .stat-card{background:#2a2a2a;border-right:1px solid #404040;border-bottom:1px solid #404040}.dark .stat-label{color:#888}.dark .stat-value{color:#fff}.dark .provider-stat{border-bottom:1px solid #404040}.dark .provider-name{color:#ddd}.dark .provider-amount{color:#fff}.dark .refunds-header h2{color:#ddd}.dark .btn-refresh{background:#2a2a2a;color:#fff;border:1px solid #404040}.dark .btn-refresh:hover{background:#353535;border-color:#666}.dark .refund-card{border-bottom:1px solid #404040}.dark .refund-header h3{color:#ddd}.dark .user-info{color:#aaa}.dark .refund-amount{color:#fff}.dark .refund-details{border-top:1px solid #353535}.dark .detail-row{border-bottom:1px solid #404040;color:#ddd}.dark .detail-label{color:#999}.dark .detail-row span:not(.detail-label){color:#ddd}.dark .admin-notes-input{border:1px solid #404040;color:#ddd;background-color:#2a2a2a}.dark .btn-approve{background:#2a2a2a;color:#fff;border:1px solid #fff}.dark .btn-approve:hover:not(:disabled){background:#fff;color:#000}.dark .btn-reject{background:#2a2a2a;color:#aaa;border:1px solid #555}.dark .btn-reject:hover:not(:disabled){background:#353535}.dark .recovery-header h2{color:#ddd}.dark .recovery-item{border-bottom:1px solid #404040}.dark .recovery-action{color:#ddd}.dark .recovery-details{color:#aaa}.dark .btn-retry{color:#000}.dark .modal-content{background:#2a2a2a;border:1px solid #fff}.dark .modal-content h3{color:#ddd}.dark .modal-body p{color:#aaa}.dark .modal-body label{color:#999}.dark .modal-body textarea{border:1px solid #404040;background:#1a1a1a;color:#ddd}.dark .modal-body textarea:focus{border-color:#007bff}.dark .btn-secondary{background:#2a2a2a;color:#fff;border:1px solid #404040}.dark .btn-secondary:hover{background:#353535;border-color:#666}.dark .loading{color:#aaa}.dark .no-data{color:#888;border-top:1px solid #404040;border-bottom:1px solid #404040}.dark .approved-refunds-section{border-top:2px solid #404040}.dark .approved-refunds-section .section-title{color:#ddd}.dark .refund-card.approved{border-color:#404040;background:#2a2a2a}.dark .badge{border:1px solid #404040;background:#2a2a2a;color:#aaa}.dark .badge.success{border-color:#fff;color:#fff}.dark .compact-table{border-top:1px solid #404040}.dark .compact-table th{background-color:#2a2a2a;color:#888;border-bottom:1px solid #404040}.dark .compact-table td{border-bottom:1px solid #353535;color:#ddd}.dark .compact-table tr:hover{background-color:#2a2a2a}.dark .compact-table .amount-cell{color:#fff}.dark .compact-table .id-cell{color:#999}.dark .compact-table .id-cell.clickable:hover{color:#007bff}.dark .payment-id-clickable{color:#999}.dark .payment-id-clickable:hover{color:#007bff}.access-denied{text-align:center;padding:60px 20px;background:white;border-radius:8px;margin-top:40px}.access-denied h2{color:#dc3545;margin-bottom:10px}.access-denied p{color:#666}.admin-header{background:white;padding:20px 0;margin-bottom:20px;border-bottom:1px solid #e0e0e0}.admin-tabs{display:flex;gap:10px;border-bottom:2px solid #e0e0e0}.tab{padding:10px 20px;background:none;border:none;font-size:16px;color:#666;cursor:pointer;position:relative;transition:all .3s ease}.tab:hover{color:#333}.tab.active{color:#222;font-weight:500}.tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#222}.admin-content{background:transparent;padding:0}.alert{padding:12px 16px;margin-bottom:20px;border-radius:6px;display:flex;justify-content:space-between;align-items:center}.alert-danger{background-color:#fff;color:#666;border:1px solid #ddd;border-left:3px solid #666}.alert-success{background-color:#fff;color:#222;border:1px solid #ddd;border-left:3px solid #222}.close-btn{background:none;border:none;font-size:20px;cursor:pointer;color:inherit;opacity:.5;padding:0;margin-left:10px}.close-btn:hover{opacity:1}.stats-section{margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.stats-section:last-child{border-bottom:none}.stats-section h2{margin:0 0 20px;color:#333;font-size:14px;font-weight:400;text-transform:uppercase;letter-spacing:.5px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid #e0e0e0}.stat-card{background:white;padding:20px;text-align:center;border-right:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.stat-card:last-child{border-right:none}.stat-label{font-size:12px;color:#999;margin-bottom:8px;text-transform:uppercase;font-weight:400;letter-spacing:.5px}.stat-value{font-size:24px;font-weight:600;color:#222}.provider-stats{display:flex;flex-direction:column;gap:15px}.provider-stat{display:flex;justify-content:space-between;align-items:center;padding:15px 0;background:transparent;border-bottom:1px solid #e0e0e0}.provider-stat:last-child{border-bottom:none}.provider-name{font-weight:600;color:#333}.provider-amount{font-size:18px;font-weight:600;color:#222}.refunds-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.refunds-actions{display:flex;gap:10px;align-items:center}.refunds-header h2{margin:0;color:#333}.btn-refresh{padding:8px 16px;background:white;color:#222;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s ease}.btn-refresh:hover{background:#f5f5f5;border-color:#999}.refunds-list{display:flex;flex-direction:column;gap:20px}.refund-card{border-bottom:1px solid #e0e0e0;padding:20px 0;background:transparent}.refund-card:last-child{border-bottom:none}.refund-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.refund-header h3{margin:0 0 8px;color:#333;font-size:18px}.user-info{color:#666;font-size:14px;margin:0}.refund-amount{font-size:20px;font-weight:600;color:#222}.refund-details{background:transparent;padding:15px 0;margin-bottom:20px;border-top:1px solid #f0f0f0}.detail-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0;color:#333}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#555;flex-shrink:0;width:120px}.detail-row span:not(.detail-label){color:#333;flex:1}.admin-notes-input{flex:1;padding:4px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px;color:#333;background-color:white;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.refund-actions{display:flex;gap:10px}.btn-approve,.btn-danger,.btn-reject{padding:10px 24px;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-approve{background:white;color:#222;border:1px solid #222;flex:1}.btn-approve:hover:not(:disabled){background:#222;color:white}.btn-reject{background:white;color:#666;border:1px solid #ccc;flex:1}.btn-reject:hover:not(:disabled){background:#f5f5f5}.btn-danger{background:#dc3545;color:white}.btn-danger:hover:not(:disabled){background:#c82333}.btn-approve:disabled,.btn-danger:disabled,.btn-reject:disabled{opacity:.6;cursor:not-allowed}.recovery-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.recovery-header h2{margin:0;color:#333}.recovery-actions{display:flex;gap:10px}.btn-process{padding:8px 16px;background:#007bff;color:white;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s ease}.btn-process:hover:not(:disabled){background:#0056b3}.btn-process:disabled{opacity:.6;cursor:not-allowed}.recovery-list{display:flex;flex-direction:column;gap:15px}.recovery-item{display:flex;justify-content:space-between;align-items:center;padding:15px 0;background:transparent;border-bottom:1px solid #e0e0e0}.recovery-item:last-child{border-bottom:none}.recovery-info{flex:1}.recovery-action{font-weight:600;color:#333;margin-bottom:8px;text-transform:uppercase}.recovery-details{display:flex;gap:20px;color:#666;font-size:14px}.recovery-error{margin-top:8px;padding:8px;background:#fee;border-left:3px solid #c33;border-radius:3px;color:#c33;font-size:13px}.btn-retry{padding:6px 12px;background:#ffc107;color:#333;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s ease}.btn-retry:hover{background:#e0a800}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;width:90%;max-width:500px;padding:25px;border:1px solid #222}.modal-content h3{margin:0 0 20px;color:#333}.modal-body{margin-bottom:20px}.modal-body p{margin:0 0 15px;color:#666}.modal-body label{display:block;margin-bottom:8px;font-weight:500;color:#555}.modal-body textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:14px;resize:vertical;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}.modal-body textarea:focus{outline:none;border-color:#007bff}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.btn-secondary{padding:8px 16px;background:white;color:#222;border:1px solid #ddd;border-radius:4px;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f5f5f5;border-color:#999}.loading{text-align:center;padding:40px;color:#666;font-size:16px}.no-data{text-align:center;padding:40px 0;color:#999;background:transparent;font-size:14px;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0}.approved-refunds-section{margin-top:40px;padding-top:30px;border-top:2px solid #e0e0e0}.approved-refunds-section .section-title{margin:0 0 20px;color:#333;font-size:18px;font-weight:600}.refund-card.approved{border-color:#ddd;background:white}.badge{display:inline-block;padding:4px 8px;border-radius:2px;font-size:11px;font-weight:400;text-transform:uppercase;border:1px solid #ddd;background:white;color:#666}.badge.success{border-color:#222;color:#222}.badge.compact{padding:2px 6px;font-size:10px}.approved-refunds-table{width:100%;overflow-x:auto}.compact-table{width:100%;border-collapse:collapse;font-size:13px;border-top:1px solid #e0e0e0}.compact-table th{background-color:white;color:#999;font-weight:400;padding:8px 6px;text-align:left;border-bottom:1px solid #e5e5e5;font-size:11px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.compact-table td{padding:6px;border-bottom:1px solid #e9ecef;color:#333;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-table tr:hover{background-color:#f8f9fa}.compact-table .amount-cell{font-weight:500;color:#222;white-space:nowrap}.compact-table .notes-cell,.compact-table .reason-cell{max-width:200px}.compact-table .date-cell{white-space:nowrap;font-size:12px}.compact-table .id-cell{font-family:monospace;font-size:11px;color:#6c757d}.compact-table .id-cell.clickable{cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.compact-table .id-cell.clickable:hover{color:#007bff;text-decoration:underline}.payment-id-clickable{font-family:monospace;font-size:13px;color:#6c757d;cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.payment-id-clickable:hover{color:#007bff;text-decoration:underline}@media (max-width:768px){.admin-container{padding:10px}.admin-header{padding:15px}.admin-header h1{font-size:24px}.admin-tabs{flex-wrap:wrap}.tab{flex:1;min-width:100px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.stat-card{padding:15px}.stat-value{font-size:24px}.refund-header{flex-direction:column;gap:15px}.refund-amount{font-size:20px}.detail-row{flex-direction:column;gap:5px}.detail-label{width:auto}.recovery-item{flex-direction:column;gap:10px;align-items:flex-start}.recovery-details{flex-direction:column;gap:5px}.btn-retry{width:100%}}.typing-dots{display:inline-block;margin-left:4px}.typing-dots span{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#94a3b8;animation:typing-dot 1.4s infinite;margin:0 1px}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-dot{0%,80%,to{transform:scale(1);opacity:.5}40%{transform:scale(1.3);opacity:1}}@media screen and (max-width:768px){.chat-window{max-width:calc(100vw - 20px);max-height:calc(100vh - 100px)}.chat-input,.chat-messages{font-size:14px}}@media screen and (max-width:480px){.chat-window{max-width:100vw;max-height:calc(100vh - 60px);border-radius:0}.chat-input,.chat-messages{font-size:13px}}@media screen and (max-height:500px){.chat-window{max-height:calc(100vh - 40px)}.chat-header,.chat-input-area{padding:8px}}