*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5;font-family:Kanit,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.btn{display:inline-block;font-size:16px;font-weight:600;padding:12px 24px;text-align:center}.btn-primary{background-color:#28a745}.btn-primary:hover{background-color:#218838}.btn-secondary{background-color:#ffc107;color:#212529}.btn-secondary:hover{background-color:#e0a800}.btn-outline{border:2px solid #28a745;color:#28a745}.btn-outline:hover{background-color:#28a745;color:#fff}.form-group{margin-bottom:20px}.form-label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s ease;width:100%}.form-input:focus{border-color:#28a745;outline:none}.form-input::placeholder{color:#999}.text-center{text-align:center}.text-primary{color:#28a745}.text-secondary{color:#666}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mb-5{margin-bottom:40px}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:40px}.error-message{color:#dc3545;font-size:14px;margin-top:8px}.success-message{color:#28a745;font-size:14px;margin-top:8px}.header{background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 2px 4px #0000001a;font-family:Kanit,sans-serif;padding:0}.header-content{justify-content:space-between;padding:16px 0}.logo{align-items:center;color:#333;cursor:pointer;display:flex;font-size:18px;font-weight:700;gap:8px;transition:transform .2s ease}.logo:hover{transform:scale(1.05)}.logo-icon{border-radius:4px;height:40px;object-fit:contain;width:40px}.logo-text{background:#fff;border:2px solid #333;border-radius:4px;padding:4px 8px}.nav{align-items:center;display:flex;gap:24px}.nav-link{color:#333;font-weight:500;text-decoration:none;transition:color .3s ease}.nav-link:hover{color:#28a745}.nav-button{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;padding:0}.language-switcher{align-items:center;display:flex;gap:4px}.lang-btn{background:#fff;border:2px solid #333;border-radius:4px;color:#333;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px;transition:all .3s ease}.lang-btn:hover{background:#333;color:#fff}.lang-btn.active{background:#28a745;border-color:#28a745;color:#fff}.mobile-header{display:none}@media (min-width:769px){.header-content{display:flex}.mobile-header{display:none}}@media (max-width:768px){.header-content{display:none!important}.mobile-header{display:flex;flex-direction:column;gap:16px;padding:16px 0}.mobile-top-row{justify-content:space-between;width:100%}.mobile-logo,.mobile-top-row{align-items:center;display:flex}.mobile-logo{color:#333;cursor:pointer;font-size:18px;font-weight:700;gap:8px;transition:transform .2s ease}.mobile-logo:hover{transform:scale(1.05)}.mobile-logo .logo-icon{border-radius:4px;height:40px;object-fit:contain;width:40px}.mobile-logo .logo-text{background:#fff;border:2px solid #333;border-radius:4px;padding:4px 8px}.mobile-auth-btn{background:none;background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .3s ease}.mobile-auth-btn:hover{background:#0056b3}.mobile-nav{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-around}.mobile-nav .nav-link{background:none;border:none;color:#333;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;padding:0;text-decoration:none;transition:color .3s ease}.mobile-nav .nav-link:hover{color:#28a745}.mobile-nav .language-switcher{align-items:center;display:flex;gap:8px}.mobile-nav .lang-btn{background:#fff;border:2px solid #333;border-radius:4px;color:#333;cursor:pointer;font-size:12px;font-weight:600;padding:4px 8px;transition:all .3s ease}.mobile-nav .lang-btn:hover{background:#333;color:#fff}.mobile-nav .lang-btn.active{background:#28a745;border-color:#28a745;color:#fff}}.landing-page{font-family:Kanit,sans-serif;min-height:100vh}.landing-page .hero-section{align-items:center;background:linear-gradient(#00000080,#00000080),url(/static/media/pattani_rainbow_stadium.6ec8110e22281206ba57.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:90vh;min-height:600px;overflow:hidden;padding:60px 0 80px;position:relative;text-align:center}.landing-page .hero-section.promoting-hero{align-items:center;animation:none;background:linear-gradient(#0006,#0006),url(/static/media/pattani_rainbow_stadium.6ec8110e22281206ba57.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:auto;min-height:600px;padding:40px 0 60px}.landing-page .hero-section:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='10' cy='10' r='1' fill='rgba(0,0,0,0.05)'/%3E%3Ccircle cx='90' cy='90' r='1' fill='rgba(0,0,0,0.05)'/%3E%3Ccircle cx='50' cy='30' r='1' fill='rgba(0,0,0,0.05)'/%3E%3Ccircle cx='30' cy='70' r='1' fill='rgba(0,0,0,0.05)'/%3E%3C/svg%3E") repeat;bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.hero-content{position:relative;z-index:2}.club-logo{margin-bottom:30px}.logo-circle{align-items:center;background:#fff;border-radius:50%;box-shadow:0 8px 32px #0000001a;display:flex;height:120px;justify-content:center;margin:0 auto;width:120px}.logo-shield{border-radius:8px;height:80px;object-fit:contain;width:80px}.landing-page .hero-content h1{color:#fff;font-size:2.5rem;font-weight:700;line-height:1.2;margin-bottom:24px;text-shadow:2px 2px 4px #000000b3}.landing-page .hero-content p{color:#fff;font-size:1.3rem;line-height:1.6;margin:0 auto 40px;max-width:700px;text-shadow:1px 1px 3px #000000b3}.cta-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:20px}.landing-page .cta-buttons .btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000004d;font-size:18px;font-weight:600;min-width:200px;padding:16px 32px;transition:all .3s ease}.landing-page .cta-buttons .btn:hover{box-shadow:0 8px 24px #0006;transform:translateY(-2px)}.landing-page .social-buttons{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:20px}.landing-page .btn-social{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid #ffffff4d;border-radius:8px;box-shadow:0 4px 16px #0000004d;color:#fff;display:flex;font-size:16px;font-weight:600;gap:8px;padding:12px 20px;text-decoration:none;text-shadow:0 2px 4px #0000004d;transition:all .3s ease}.landing-page .btn-social:hover{box-shadow:0 8px 24px #0006;color:#fff;text-decoration:none;transform:translateY(-2px)}.landing-page .facebook-btn{background:#1877f2cc}.landing-page .facebook-btn:hover{background:#1877f2}.landing-page .instagram-btn{background:linear-gradient(45deg,#833ab4cc,#fd1d1dcc,#fcb040cc)}.landing-page .instagram-btn:hover{background:linear-gradient(45deg,#833ab4,#fd1d1d,#fcb040)}.landing-page .tiktok-btn{background:#25f4eecc;color:#000;text-shadow:none}.landing-page .tiktok-btn:hover{background:#25f4ee;color:#000}.landing-page .youtube-btn{background:#f00c}.landing-page .youtube-btn:hover{background:red}.next-match-section{background:#fff;padding:80px 0;text-align:center}.next-match-section h2{color:#333;font-size:2.5rem;margin-bottom:16px}.next-match-section p{color:#666;font-size:1.2rem;margin-bottom:60px}.match-card{background:linear-gradient(135deg,gold,#ffed4e);border-radius:20px;box-shadow:0 12px 48px #0000001a;margin:0 auto;max-width:800px;padding:40px}.match-teams{gap:40px}.team-logo{background:#fff;padding:10px}.team-logo-img{border-radius:6px;height:70px;object-fit:contain;width:70px}.team-info h3,.vs-text{color:#333}.match-time{margin-bottom:8px}.match-venue{color:#666;font-size:1rem}.tickets-section{background:#f8f9fa;padding:80px 0}.tickets-grid{grid-gap:40px;gap:40px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:0 auto;max-width:800px}.ticket-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:40px;text-align:center;transition:transform .3s ease}.ticket-card:hover{transform:translateY(-4px)}.ticket-card.yearly{border:3px solid gold;position:relative}.ticket-card.yearly:before{background:gold;border-radius:12px;color:#333;content:"POPULAR";font-size:12px;font-weight:700;left:50%;padding:4px 16px;position:absolute;top:-12px;transform:translateX(-50%)}.ticket-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 24px;width:80px}.ticket-card h3{color:#333;font-size:1.5rem;margin-bottom:16px}.ticket-price{font-size:2.5rem;margin-bottom:12px}.ticket-card p{color:#666;margin-bottom:20px}.ticket-availability{color:#28a745;font-size:14px;justify-content:center;margin-bottom:24px}.ticket-btn{font-size:16px;padding:16px;width:100%}.stats-section{background:#fff;padding:80px 0}.stats-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin:0 auto;max-width:1000px}.stat-card{background:#f8f9fa;border-radius:16px;padding:32px}.stat-header{align-items:center;display:flex;gap:16px;margin-bottom:24px}.stat-header .team-logo{align-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 16px #0000001a;display:flex;font-size:2.5rem;height:60px;justify-content:center;width:60px}.team-name h3{color:#333;font-size:1.3rem;margin-bottom:4px}.team-name span{color:#666;font-size:14px}.stats{display:flex;flex-direction:column;gap:12px}.stat-item{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0}.stat-item:last-child{border-bottom:none}.stat-label{color:#666;font-size:14px}.stat-value{color:#333;font-weight:600}.features-section{background:#f8f9fa}.features-section p{font-size:1.2rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));max-width:1000px}.feature-card{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000000d}.feature-card h3{font-size:1.3rem}.sponsors-section{background:#f8f9fa;padding:60px 0;text-align:center}.sponsors-content{margin:0 auto;max-width:1200px}.sponsors-title{color:#2c3e50;font-size:2rem;font-weight:700;margin-bottom:12px}.sponsors-subtitle{color:#666;font-size:1rem;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:600px}.sponsors-grid{background:#fff;border-radius:16px;box-shadow:0 4px 16px #0000000f;margin-bottom:40px;padding:30px}.sponsor-logos{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));justify-items:center}.sponsor-logo{align-items:center;background:#fafafa;border:1px solid #e9ecef;border-radius:8px;display:flex;height:80px;justify-content:center;padding:12px;transition:transform .3s ease,box-shadow .3s ease;width:120px}.sponsor-logo:hover{background:#fff;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.sponsor-logo img{max-height:100%;max-width:100%;object-fit:contain;transition:filter .3s ease,opacity .3s ease}.sponsor-logo img,.sponsor-logo:hover img{filter:grayscale(0);opacity:1}.sponsor-cta{background:#fff;border:2px solid #007bff;border-radius:16px;box-shadow:0 8px 32px #00000014;padding:40px}.sponsor-cta p{color:#2c3e50;font-size:1.3rem;font-weight:600;margin-bottom:24px}.sponsor-contact-btn{background:#0000;border:2px solid #007bff;border-radius:8px;color:#007bff;display:inline-block;font-size:1.1rem;font-weight:600;padding:16px 32px;text-decoration:none;transition:all .3s ease}.sponsor-contact-btn:hover{background:#007bff;box-shadow:0 8px 24px #007bff4d;color:#fff;text-decoration:none;transform:translateY(-2px)}.footer{background:#2c3e50;color:#fff;padding:60px 0 20px}.footer-content{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.footer-section h4{color:gold;font-size:1.2rem;margin-bottom:20px}.footer-logo{align-items:center;display:flex;font-size:1.2rem;font-weight:700;gap:8px;margin-bottom:16px}.footer-logo-img{border-radius:4px;height:32px;object-fit:contain;width:32px}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:#bdc3c7;text-decoration:none;transition:color .3s ease}.footer-section ul li a:hover{color:gold}.footer-section p{color:#bdc3c7;line-height:1.6}.footer-bottom{border-top:1px solid #34495e;color:#bdc3c7;padding-top:20px;text-align:center}@media (max-width:768px){.landing-page .hero-section{height:auto;min-height:70vh;padding:40px 0 60px}.landing-page .hero-content h1{font-size:2.5rem}.landing-page .hero-content p{font-size:1.1rem}.club-logo{margin-bottom:20px}.cta-buttons{align-items:center;flex-direction:column;margin-top:15px}.cta-buttons .btn{max-width:300px;width:100%}.landing-page .social-buttons{align-items:center;flex-direction:column;gap:12px;margin-top:15px}.landing-page .btn-social{justify-content:center;max-width:280px;width:100%}.match-teams{flex-direction:column;gap:20px}.match-vs{order:2}.team-logo{font-size:3rem;height:80px;width:80px}.stats-grid,.tickets-grid{gap:24px;grid-template-columns:1fr}.features-grid{gap:24px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.footer-content{gap:32px;grid-template-columns:1fr;text-align:center}.promoting-matches-grid{gap:24px;grid-template-columns:1fr}.match-card.promoting{max-width:none}.sponsors-section{padding:40px 0}.sponsors-title{font-size:1.5rem}.sponsors-subtitle{font-size:.9rem;margin-bottom:30px}.sponsors-grid{margin-bottom:30px;padding:20px}.sponsor-logos{gap:12px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.sponsor-logo{height:60px;padding:8px;width:100px}.sponsor-cta{padding:24px}.sponsor-cta p{font-size:1.1rem;margin-bottom:20px}.sponsor-contact-btn{font-size:1rem;padding:12px 24px}}.promoting-matches-section{background:#f8f9fa;padding:80px 0}.promoting-matches-section h2{color:#2c3e50;font-size:2.5rem;margin-bottom:12px;text-align:center}.promoting-matches-section p{color:#666;font-size:1.1rem;margin-bottom:60px;text-align:center}.promoting-matches-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.match-card.promoting{background:#fff;border:2px solid gold;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.match-card.promoting:hover{box-shadow:0 16px 48px #00000026;transform:translateY(-8px)}.promoting-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#ff6b6b,gold);border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:8px 16px;position:absolute;right:20px;top:20px;z-index:10}.match-card.promoting .match-teams{padding:32px 24px 24px}.match-actions{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.match-info{display:flex;flex-direction:column;gap:8px}.ticket-price{color:#28a745;font-size:1.3rem;font-weight:700}.ticket-availability{align-items:center;color:#666;display:flex;font-size:.9rem;gap:8px}.available-dot{display:inline-block}.match-btn{border-radius:8px;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.match-btn:hover{box-shadow:0 4px 16px #007bff4d;transform:translateY(-2px)}.match-league{color:#666;font-size:.9rem;margin-top:4px}.empty-state,.error-state,.loading-state{padding:60px 20px;text-align:center}.error-state p{color:#dc3545;font-size:1.1rem}.empty-state .empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.empty-state h3{color:#666;margin-bottom:8px}.empty-state p{color:#999}.hero-matches-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin:30px auto;max-width:1200px}.hero-match-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:3px solid #ffffff4d;border-radius:16px;box-shadow:0 8px 32px #0003;display:flex;flex-direction:column;margin:0 auto;min-height:120px;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease;width:512px}.hero-match-card:hover{box-shadow:0 20px 60px #0000004d;transform:translateY(-8px)}.hero-promoting-badge{animation:pulse 2s infinite;background:linear-gradient(135deg,#ff4757,#ffa726);border-radius:25px;box-shadow:0 4px 12px #ff475766;color:#fff;font-size:.85rem;font-weight:700;padding:8px 16px;position:absolute;right:20px;top:20px;z-index:10}.hero-match-teams{flex:1 1;justify-content:space-between;padding:12px}.hero-match-teams,.hero-team{align-items:center;display:flex}.hero-team{flex:1 1;flex-direction:column;gap:8px;max-width:120px;min-width:0}.hero-team-logo{align-items:center;background:#fff;border:3px solid #2c3e501a;border-radius:50%;box-shadow:0 4px 16px #0000001a;display:flex;flex-shrink:0;height:60px;justify-content:center;padding:6px;width:60px}.hero-team-info{min-width:0;text-align:center;width:100%}.hero-team-info h3{color:#2c3e50;font-size:1.1rem;font-weight:800;line-height:1.2;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-team-info span{color:#95a5a6;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.hero-match-vs{background:#fffc;border-radius:12px;box-shadow:0 2px 8px #0000001a;flex:2 1;justify-content:center;margin:0 16px;padding:0 4px;text-align:center}.hero-match-vs,.hero-vs-info{align-items:center;display:flex}.hero-vs-info{flex-direction:column;gap:2px;padding:16px 0}.hero-vs-text{color:#2c3e50;font-size:1.4rem;font-weight:900;margin-bottom:4px}.hero-match-date{color:#2c3e50;font-size:.9rem;font-weight:600;text-align:center}.hero-match-time{color:#2c3e50;font-size:1.1rem;font-weight:700;text-align:center}.hero-match-venue{color:#7f8c8d;font-size:.8rem;margin-top:2px;text-align:center}.hero-match-league{color:#bdc3c7;font-size:.75rem;font-weight:500;margin-top:2px;text-align:center}.hero-match-actions{align-items:center;background:#f8f9fae6;border-top:1px solid #e9ecef80;display:flex;justify-content:space-between;margin-top:auto;padding:16px 24px}.hero-match-info{display:flex;flex-direction:column;gap:6px}.hero-ticket-price{color:#27ae60;font-size:1.5rem;font-weight:800;text-shadow:0 2px 4px #27ae6033}.hero-ticket-availability{align-items:center;color:#7f8c8d;display:flex;font-size:.85rem;gap:8px}.hero-available-dot{background:#27ae60;border-radius:50%;box-shadow:0 0 8px #27ae6080;display:inline-block;height:10px;width:10px}.hero-ticket-btn{border-radius:8px;box-shadow:0 4px 12px #007bff4d;font-size:.9rem;font-weight:700;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase;transition:all .3s ease;white-space:nowrap}.hero-ticket-btn:hover{box-shadow:0 8px 20px #007bff66;transform:translateY(-2px)}.hero-cta-buttons{display:flex;gap:16px;justify-content:center;margin-top:20px}.hero-main-cta{border-radius:10px;box-shadow:0 6px 20px #007bff4d;font-size:1.1rem;font-weight:700;letter-spacing:.5px;padding:16px 32px;text-transform:uppercase}.hero-main-cta:hover{box-shadow:0 8px 24px #007bff66;transform:translateY(-2px)}.hero-cta-buttons .btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;font-size:1rem;font-weight:600;padding:12px 32px;text-shadow:0 2px 4px #0000004d;transition:all .3s ease}.hero-cta-buttons .btn:hover{background:#ffffff4d;box-shadow:0 8px 20px #0003;transform:translateY(-2px)}@media (max-width:768px){.hero-matches-grid{gap:20px;grid-template-columns:1fr;margin:30px 0;padding:0 16px}.hero-match-card{margin:0 auto;max-width:100%;min-height:120px;width:100%}.hero-match-teams{gap:0;padding:20px 16px}.hero-team{gap:6px;max-width:100px}.hero-team-logo{font-size:1.5rem;height:50px;width:50px}.hero-team-info h3{font-size:.7rem;line-height:1.1}.hero-team-info span{font-size:.7rem}.hero-match-vs{margin:0 12px;padding:0 16px}.hero-vs-info{padding:12px 0}.hero-vs-text{font-size:1.1rem;margin-bottom:2px}.hero-match-date{font-size:.8rem}.hero-match-time{font-size:.9rem}.hero-match-venue{font-size:.75rem}.hero-match-league{font-size:.7rem}.hero-cta-buttons{align-items:center;flex-direction:column;gap:12px;margin-top:25px}.hero-cta-buttons .btn{max-width:280px;padding:14px 28px;width:100%}.hero-main-cta{font-size:1rem;padding:16px 32px}}@media (max-width:1024px) and (min-width:769px){.hero-matches-grid{gap:24px;grid-template-columns:1fr;max-width:700px}.hero-match-card{min-height:130px}.hero-team{max-width:110px}.hero-team-logo{font-size:1.6rem;height:55px;width:55px}.hero-vs-text{font-size:1.3rem}.hero-match-vs{margin:0 14px;padding:0 20px}}@media (min-width:1200px){.hero-matches-grid{grid-template-columns:repeat(auto-fit,minmax(500px,1fr));max-width:1400px}.hero-match-card{min-height:150px}.hero-team{max-width:130px}.hero-team-logo{font-size:2rem;height:70px;width:70px}.hero-team-info h3{font-size:1.2rem}.hero-vs-text{font-size:1.5rem}.hero-match-vs{margin:0 18px;padding:0 4px}.hero-vs-info{padding:20px 0}}.login-page{background-color:#f8f9fa;font-family:Kanit,sans-serif;min-height:100vh}.hero-section{background:linear-gradient(135deg,gold,#ffed4e);padding:60px 0;text-align:center}.hero-content h1{color:#333;font-size:3rem;font-weight:700;margin-bottom:16px}.hero-content p{color:#555;font-size:1.2rem}.auth-section{background-color:#f8f9fa;padding:60px 0}.auth-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;margin:0 auto;max-width:500px;overflow:hidden}.social-section{margin-top:30px}.auth-tabs{background-color:#f8f9fa;display:flex}.auth-tab{background:#0000;border:none;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:500;padding:16px;transition:all .3s ease}.auth-tab.active{background:#fff;border-bottom:3px solid #28a745;color:#333}.auth-form{padding:40px}.form-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.checkbox-label{color:#666;font-size:14px}.checkbox-label input[type=checkbox]{height:16px;width:16px}.forgot-link{color:#28a745;font-size:14px;text-decoration:none}.forgot-link:hover{text-decoration:underline}.auth-submit{font-size:16px;margin-bottom:24px;padding:16px;width:100%}.auth-divider{color:#999;font-size:14px;margin:24px 0;position:relative;text-align:center}.auth-divider:before{background:#e0e0e0;content:"";height:1px;left:0;position:absolute;right:0;top:50%;z-index:1}.auth-divider span{background:#fff;padding:0 16px;position:relative;z-index:2}.social-auth{display:flex;gap:12px}.social-btn{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#333;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:10px;justify-content:center;padding:12px 16px;transition:all .3s ease}.google-btn{border-color:#dadce0;color:#3c4043}.google-btn:hover:not(:disabled){background-color:#f8f9ff;border-color:#4285f4;box-shadow:0 2px 4px #4285f41a}.google-btn:disabled{cursor:not-allowed;opacity:.6}.google-icon{flex-shrink:0;height:18px;width:18px}.facebook-btn:hover{border-color:#3b5998;color:#3b5998}.features-section{background:#fff;padding:80px 0;text-align:center}.features-section h2{color:#333;font-size:2.5rem;margin-bottom:16px}.features-section p{color:#666;font-size:1.1rem;margin-bottom:60px}.features-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:900px}.feature-card{padding:32px;text-align:center}.feature-icon{align-items:center;background:#f8f9fa;border-radius:50%;display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 20px;padding:20px;width:80px}.feature-card h3{color:#333;font-size:1.5rem;margin-bottom:12px}.feature-card p{color:#666;line-height:1.6}@media (max-width:768px){.hero-content h1{font-size:2rem}.auth-card{margin:0 20px}.auth-form{padding:24px}.features-section h2{font-size:2rem}.features-grid{gap:32px;grid-template-columns:1fr}.landing-page .hero-section.promoting-hero{height:auto}.footer-logo{display:block}}.buy-ticket-page{background:#f8f9fa;font-family:Kanit,sans-serif;min-height:100vh}.buy-ticket-container{margin:0 auto;max-width:1200px;padding:40px 20px}.buy-ticket-content{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1fr 400px}.buy-ticket-title{margin-bottom:20px}.existing-tickets-warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc107;border-radius:16px;box-shadow:0 8px 32px #ffc10726;margin-bottom:32px;overflow:hidden;padding:24px;position:relative}.existing-tickets-warning:before{animation:warning-shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#ffc107,#e0a800,#ffc107);content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes warning-shimmer{0%,to{opacity:.8}50%{opacity:1}}.warning-header{align-items:center;border-bottom:1px solid #ffc1074d;display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px}.warning-icon{animation:warning-pulse 2s ease-in-out infinite;flex-shrink:0;font-size:2.5rem}@keyframes warning-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.warning-content h3.warning-title{color:#856404;font-size:1.5rem;font-weight:700;margin:0 0 8px}.warning-content p.warning-subtitle{color:#856404;font-size:1rem;margin:0;opacity:.9}.existing-tickets-list{display:flex;flex-direction:column;gap:16px}.compact-ticket-card{border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px;transition:all .3s ease}.compact-ticket-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.compact-ticket-card.active-ticket{background:linear-gradient(135deg,#f8fff9,#fff);border-color:#28a745}.compact-ticket-card.pending-ticket{animation:pending-glow 3s ease-in-out infinite;background:linear-gradient(135deg,#fffdf0,#fff);border-color:#ffc107}.compact-ticket-card.verifying-ticket{background:linear-gradient(135deg,#f0fdff,#fff);border-color:#17a2b8}.compact-ticket-card.expired-ticket{background:linear-gradient(135deg,#fff5f5,#fff);border-color:#dc3545}@keyframes pending-glow{0%,to{box-shadow:0 2px 8px #0000000d}50%{box-shadow:0 4px 16px #ffc10733}}.ticket-compact-header{margin-bottom:16px}.status-badge-compact{display:flex;gap:8px;margin-bottom:12px}.status-icon{font-size:1.2rem}.status-text{color:#6c757d;font-size:.85rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.match-title-compact{font-size:1.3rem;font-weight:700;line-height:1.3;margin:0 0 8px}.match-info-compact{font-size:.9rem;gap:4px}.ticket-summary{flex-shrink:0}.price-quantity{gap:4px}.price{font-size:1.5rem}.quantity{font-size:.9rem;font-weight:500}.ticket-action-bar{padding-top:16px}.status-indicator{border-radius:20px;display:inline-flex;font-weight:600;gap:6px}.status-indicator.active{background:linear-gradient(135deg,#d4edda,#c3e6cb)}.status-indicator.pending{background:linear-gradient(135deg,#fff3cd,#ffeaa7)}.status-indicator.verifying{background:linear-gradient(135deg,#cce7ff,#b3d9ff);color:#004085}.status-indicator.expired{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.action-buttons-compact{align-items:center;gap:8px}.btn-compact{align-items:center;border-radius:6px;display:flex;font-size:.8rem;font-weight:600;gap:4px;padding:6px 12px;transition:all .3s ease;white-space:nowrap}.btn-compact.primary{background:linear-gradient(135deg,#007bff,#0056b3)}.btn-compact.primary:hover{box-shadow:0 2px 8px #007bff4d;transform:translateY(-1px)}.btn-compact.warning{background:linear-gradient(135deg,#ffc107,#e0a800)}.btn-compact.warning:hover{box-shadow:0 2px 8px #ffc1074d;transform:translateY(-1px)}.btn-compact.info{background:linear-gradient(135deg,#17a2b8,#138496)}.btn-compact.info:hover{box-shadow:0 2px 8px #17a2b84d;transform:translateY(-1px)}.btn-compact.secondary{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.btn-compact.secondary:hover{background:#e9ecef;color:#495057}.ticket-meta{gap:12px}.ticket-id-compact{background:#f8f9fa;border-radius:4px;font-family:Courier New,monospace;font-size:.8rem;font-weight:600;padding:2px 6px}.match-info-section h1{align-items:center;color:#2c3e50;display:flex;font-size:2.5rem;gap:12px;margin-bottom:30px}.match-card-detail{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;margin-bottom:24px;padding:32px}.buy-ticket-match-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.buy-ticket-match-header h2{color:#2c3e50;font-size:1.8rem;margin:0}.status-badge{background:#28a745;border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;padding:6px 12px}.match-details{display:flex;flex-direction:column;gap:24px}.match-teams{align-items:center;display:flex;gap:32px;justify-content:space-between}.team{flex:1 1;text-align:center}.team-logo{align-items:center;background:#f8f9fa;border-radius:50%;box-shadow:0 4px 16px #0000001a;display:flex;font-size:4rem;height:100px;justify-content:center;margin:0 auto 16px;width:100px}.team-info h3{color:#2c3e50;font-size:1.5rem;margin-bottom:8px}.team-info span{color:#666;font-size:14px;font-weight:500}.match-vs{flex:1 1;text-align:center}.vs-text{color:#2c3e50;display:block;font-size:2rem;font-weight:700;margin-bottom:16px}.match-date{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:8px}.match-time{color:#666;font-size:1rem;margin-bottom:16px}.venue-info{background:#f8f9fa;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:20px}.venue-item{align-items:center;color:#495057;display:flex;font-size:1rem;gap:12px}.venue-item .icon{font-size:1.2rem;text-align:center;width:24px}.purchase-section{position:sticky;top:100px}.ticket-selection{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:32px}.ticket-selection h3{color:#2c3e50;font-size:1.5rem;margin-bottom:24px}.ticket-info{background:#f8f9fa;border-radius:12px;gap:16px;margin-bottom:24px;padding:20px}.price-per-ticket{align-items:center;display:flex;justify-content:space-between}.price-per-ticket .label{color:#666;font-size:1rem}.price-per-ticket .price{color:#28a745;font-size:1.5rem;font-weight:700}.availability{align-items:center;color:#666;display:flex;font-size:.9rem;gap:8px}.available-dot{background:#28a745;border-radius:50%;height:8px;width:8px}.quantity-selector{margin-bottom:24px}.quantity-selector label{color:#2c3e50;display:block;font-weight:600;margin-bottom:12px}.quantity-controls{gap:16px;margin-bottom:8px}.quantity-btn{background:#fff;border:2px solid #007bff;color:#007bff;font-size:1.2rem;font-weight:700;transition:all .3s ease}.quantity-btn:hover:not(:disabled){background:#007bff;color:#fff}.quantity-display{color:#2c3e50;font-size:1.5rem;font-weight:700;min-width:40px;text-align:center}.quantity-note{color:#666;font-size:.9rem}.total-section{background:#f8f9fa;border-radius:12px;margin-bottom:24px;padding:20px}.total-calculation{align-items:center;display:flex;font-size:1.1rem;justify-content:space-between}.total-price{color:#28a745;font-size:1.8rem;font-weight:700}.purchase-actions{display:flex;flex-direction:column;gap:12px}.purchase-btn{border-radius:8px;font-size:1.1rem;font-weight:600;padding:16px;transition:all .3s ease;width:100%}.purchase-btn:disabled{cursor:not-allowed;opacity:.6}.existing-tickets-section{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;margin-bottom:24px;padding:24px}.existing-tickets-section.enhanced{background:linear-gradient(135deg,#fff8f0,#fff);border:2px solid #ff9500;box-shadow:0 8px 32px #ff950026;overflow:hidden;position:relative}.existing-tickets-section.enhanced:before{animation:shimmer 3s ease-in-out infinite;background:linear-gradient(90deg,#ff9500,#ff7b00,#ff9500);content:"";height:4px;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%,to{opacity:.8}50%{opacity:1}}.existing-tickets-header{align-items:flex-start;border-bottom:2px solid #ffe4cc;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.header-content{align-items:center;display:flex;gap:16px}.header-icon-badge{align-items:center;background:linear-gradient(135deg,#ff9500,#ff7b00);border-radius:50%;box-shadow:0 4px 16px #ff95004d;display:flex;height:60px;justify-content:center;position:relative;width:60px}.header-icon-badge .main-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));font-size:2rem}.notification-dot{align-items:center;animation:pulse-dot 2s infinite;background:#dc3545;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:.75rem;font-weight:700;height:24px;justify-content:center;position:absolute;right:-4px;top:-4px;width:24px}@keyframes pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.header-text{flex:1 1}.header-title{color:#2c3e50;font-size:1.4rem;font-weight:700;margin:0 0 4px}.header-subtitle{color:#6c757d;font-size:.9rem;line-height:1.4;margin:0}.header-highlight{background:linear-gradient(135deg,#28a745,#20c997);border-radius:20px;box-shadow:0 2px 8px #28a7454d;color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.highlight-text{align-items:center;display:flex;gap:4px}.highlight-text:before{content:"✨";font-size:.8rem}.existing-tickets-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.existing-ticket-card{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;display:flex;justify-content:space-between;padding:16px;transition:all .3s ease}.existing-ticket-card.enhanced{background:#fff;border:2px solid #e9ecef;border-radius:16px;box-shadow:0 4px 12px #00000014;overflow:hidden;padding:20px;position:relative}.existing-ticket-card.enhanced.completed{background:linear-gradient(135deg,#f8fff9,#fff);border-color:#28a745}.existing-ticket-card.enhanced.pending{animation:gentle-pulse 3s ease-in-out infinite;background:linear-gradient(135deg,#fffdf0,#fff);border-color:#ffc107}.existing-ticket-card.enhanced.verifying{background:linear-gradient(135deg,#f0fdff,#fff);border-color:#17a2b8}.existing-ticket-card.enhanced.expired{background:linear-gradient(135deg,#fff5f5,#fff);border-color:#dc3545}@keyframes gentle-pulse{0%,to{box-shadow:0 4px 12px #00000014}50%{box-shadow:0 6px 20px #ffc10733}}.existing-ticket-card:hover{box-shadow:0 8px 25px #0000001f;transform:translateY(-2px)}.ticket-badge{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #00000026;display:flex;height:32px;justify-content:center;position:absolute;right:-8px;top:-8px;width:32px;z-index:1}.badge-icon{font-size:1.2rem}.ticket-content{flex:1 1;padding-right:16px}.ticket-header{margin-bottom:12px}.ticket-ref-enhanced{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#2c3e50;font-family:Courier New,monospace;font-size:1rem;font-weight:700;padding:4px 8px}.ticket-status-enhanced{border:2px solid #0000;border-radius:20px;font-size:.75rem;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.ticket-status-enhanced.completed{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#28a745;color:#155724}.ticket-status-enhanced.pending{animation:status-pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-color:#ffc107;color:#856404}.ticket-status-enhanced.verifying{background:linear-gradient(135deg,#cce7ff,#b3d9ff);border-color:#17a2b8;color:#004085}.ticket-status-enhanced.expired{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#dc3545;color:#721c24}@keyframes status-pulse{0%,to{opacity:.9}50%{opacity:1}}.ticket-details-enhanced{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.detail-item{gap:8px}.detail-icon{font-size:1rem;text-align:center;width:20px}.detail-text{color:#495057;font-size:.95rem;font-weight:500}.detail-item.price .detail-text.amount{color:#28a745;font-size:1.1rem;font-weight:700}.ticket-meta{border-top:1px solid #f0f0f0;margin-top:8px;padding-top:8px}.meta-date{color:#6c757d;font-size:.8rem;font-weight:500}.ticket-actions-enhanced{display:flex;flex-direction:column;flex-shrink:0;gap:8px;min-width:140px}.action-btn{font-size:.85rem;gap:6px;padding:10px 16px;text-decoration:none;transition:all .3s ease}.action-btn .btn-icon{font-size:1rem}.action-btn .btn-text{white-space:nowrap}.primary-action{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 2px 8px #007bff4d;color:#fff}.primary-action:hover{box-shadow:0 4px 12px #007bff66;transform:translateY(-1px)}.urgent-action{animation:urgent-glow 2s ease-in-out infinite;background:linear-gradient(135deg,#ffc107,#e0a800);box-shadow:0 2px 8px #ffc1074d;color:#212529}.urgent-action:hover{box-shadow:0 4px 12px #ffc10780;transform:translateY(-1px)}@keyframes urgent-glow{0%,to{box-shadow:0 2px 8px #ffc1074d}50%{box-shadow:0 4px 16px #ffc10780}}.warning-action{background:linear-gradient(135deg,#ff9500,#e08600);box-shadow:0 2px 8px #ff95004d;color:#fff}.warning-action:hover{box-shadow:0 4px 12px #ff950066;transform:translateY(-1px)}.section-divider-enhanced{margin:32px 0;position:relative}.divider-content{align-items:center;background:#fff;display:flex;gap:12px;justify-content:center;padding:0 20px;position:relative;z-index:1}.section-divider-enhanced:before{background:linear-gradient(90deg,#0000,#ff9500,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.divider-icon{color:#ff9500;font-size:1.2rem}.divider-text{color:#6c757d;font-size:.9rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.selection-header{margin-bottom:24px}.selection-title{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;font-weight:600;gap:8px;margin:0 0 8px}.title-icon{font-size:1.4rem}.selection-subtitle{color:#6c757d;font-size:.9rem;line-height:1.4;margin:0}.purchase-btn:hover:not(:disabled){box-shadow:0 8px 20px #007bff4d;transform:translateY(-2px)}.error-state,.loading-state{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:60px 20px;text-align:center}.error-state h2{margin-bottom:16px}.error-state p{color:#666;margin-bottom:24px}@media (max-width:768px){.buy-ticket-container{padding:20px 16px}.buy-ticket-content{gap:24px;grid-template-columns:1fr}.existing-tickets-warning{margin-bottom:24px;padding:20px}.warning-header{flex-direction:column;gap:12px;text-align:center}.warning-content h3.warning-title{font-size:1.3rem}.ticket-compact-header{flex-direction:column;gap:16px}.ticket-summary{text-align:left}.price-quantity{align-items:center;flex-direction:row;gap:12px}.ticket-action-bar{align-items:stretch;flex-direction:column;gap:12px}.action-buttons-compact{justify-content:center}.match-info-section h1{font-size:2rem}.match-card-detail{background:linear-gradient(135deg,gold,#ffed4e);border-radius:20px;padding:24px}.match-teams{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-areas:"home-team away-team" "vs-section vs-section";grid-template-columns:1fr 1fr}.team.home-team{grid-area:home-team}.team.away-team,.team.home-team{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center}.team.away-team{grid-area:away-team}.team-logo{align-items:center;background:#fff;border-radius:50%;box-shadow:0 4px 16px #0000001a;display:flex;font-size:2.5rem;height:80px;justify-content:center;width:80px}.team-info{text-align:center}.team-info h3{color:#2c3e50;font-size:1.3rem;font-weight:800;margin-bottom:4px}.team-info span{color:#666;font-size:.9rem;font-weight:600;text-transform:uppercase}.match-vs{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;grid-area:vs-section;justify-content:center;margin:0 auto;max-width:300px;padding:16px;text-align:center;width:100%}.vs-text{color:#2c3e50;font-size:1.2rem;font-weight:900;margin-bottom:8px}.match-date{color:#28a745;font-size:.9rem;font-weight:600;margin-bottom:4px}.match-time{color:#2c3e50;font-size:1rem;font-weight:700;margin-bottom:8px}.match-venue{color:#666;font-size:.8rem;margin-top:4px}.venue-info{display:none}.purchase-section{position:static}.ticket-selection{padding:24px}.purchase-actions{flex-direction:column}.venue-info{gap:8px}.venue-item{font-size:.9rem}}@media (max-width:480px){.buy-ticket-match-header{flex-direction:column;gap:12px;text-align:center}.buy-ticket-match-header h2,.vs-text{font-size:1.5rem}.quantity-controls{justify-content:center}.total-calculation{flex-direction:column;gap:8px;text-align:center}.existing-tickets-warning{padding:16px}.warning-icon{font-size:2rem}.warning-content h3.warning-title{font-size:1.2rem}.match-title-compact{font-size:1.1rem}.price{font-size:1.3rem}.btn-compact{font-size:.75rem;padding:8px 12px}}.no-refund-policy{padding-bottom:20px}.payment-screen{background:#f8f9fa;font-family:Kanit,sans-serif;min-height:100vh}.payment-container{margin:0 auto;max-width:1000px;padding:40px 20px}.payment-content{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;overflow:hidden}.payment-header{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;padding:20px 24px;text-align:center}.payment-header h1{font-size:1.8rem;font-weight:700;margin-bottom:16px}.payment-timer{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;display:flex;gap:12px;justify-content:center;padding:12px 20px}.timer-icon{font-size:1.5rem}.timer-text{align-items:center;display:flex;flex-direction:column}.timer-label{margin-bottom:2px}.timer-value{font-size:1.6rem}.payment-expired-notice{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;display:flex;gap:12px;justify-content:center;padding:12px 20px}.expired-icon{font-size:1.5rem}.expired-text{align-items:center;display:flex;flex-direction:column}.expired-label{font-size:1rem;font-weight:600;opacity:.95}.expired-notice-section{background:#fff8f0;border-top:1px solid #ffe4cc;padding:24px 32px}.expired-notice-card{background:linear-gradient(135deg,#fff5e6,#ffeccc);border:1px solid #ffb366;border-radius:12px;box-shadow:0 4px 12px #ffb36626;overflow:hidden}.expired-notice-header{align-items:center;background:linear-gradient(135deg,#ff9500,#ff7b00);color:#fff;display:flex;gap:16px;padding:20px 24px}.expired-notice-icon{flex-shrink:0;font-size:2rem}.expired-notice-content{flex:1 1}.expired-notice-title{font-size:1.2rem;font-weight:700;margin:0 0 8px}.expired-notice-message{font-size:.95rem;line-height:1.4;margin:0;opacity:.95}.expired-notice-body{background:#fff;padding:20px 24px}.expired-instruction{align-items:flex-start;background:#f8f9ff;border:1px solid #e1e5f7;border-radius:8px;display:flex;gap:12px;padding:16px}.instruction-icon{flex-shrink:0;font-size:1.5rem;margin-top:2px}.instruction-text{display:flex;flex-direction:column;gap:4px}.instruction-text strong{color:#2563eb;font-weight:600;margin-bottom:4px}.instruction-text span{color:#4b5563;line-height:1.4}.upload-progress{background:#f8f9ff;border:1px solid #e1e5f7;border-radius:8px;margin-top:16px;padding:16px}.progress-info{align-items:center;display:flex;gap:12px;margin-bottom:12px}.progress-text{color:#2563eb;font-weight:500}.upload-progress .file-info{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;justify-content:space-between;padding:8px 12px}.upload-progress .file-name{color:#374151;flex:1 1;font-weight:500;margin-right:12px;word-break:break-all}.upload-progress .file-size{color:#6b7280;font-size:.875rem;font-weight:400}@media (max-width:768px){.expired-notice-section{padding:16px 20px}.expired-notice-header{flex-direction:column;gap:12px;padding:16px 20px;text-align:center}.expired-notice-body{padding:16px 20px}.expired-instruction{align-items:center;flex-direction:column;gap:8px;text-align:center}.upload-progress .file-info{align-items:flex-start;flex-direction:column;gap:4px}.upload-progress .file-name{margin-right:0}}.payment-details{align-items:start;display:flex;gap:32px;grid-template-columns:1fr 1fr;padding:32px}.purchase-summary{background:#f8f9fa;border-radius:12px;padding:24px}.purchase-summary h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:20px}.match-info{border-bottom:1px solid #dee2e6;margin-bottom:20px;padding-bottom:20px}.match-info h4{color:#2c3e50;font-size:1.3rem;font-weight:600;margin-bottom:8px}.match-date{color:#333;font-size:1rem;font-weight:500;margin-bottom:4px}.match-venue{color:#6c757d;font-size:.9rem}.purchase-items{display:flex;flex-direction:column;gap:12px}.item-row{align-items:center;display:flex;font-size:1rem;justify-content:space-between;padding:8px 0}.item-row.total{border-top:2px solid #dee2e6;color:#28a745;font-size:1.2rem;font-weight:700;margin-top:12px;padding-top:16px}.payment-method{background:#fff;border:2px solid #e9ecef;border-radius:12px;padding:24px;width:100%}.payment-amount-info{background:#f8f9fa;border-radius:8px;margin-top:16px;padding:16px}.amount-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.amount-item:last-child{margin-bottom:0}.amount-label{color:#495057;font-weight:600}.amount-value{align-items:center;color:#2c3e50;display:flex;font-family:monospace;font-weight:600;gap:8px}.payment-method h3{color:#2c3e50;font-size:1.5rem;font-weight:600;margin-bottom:20px}.promptpay-section{display:flex;flex-direction:column;gap:20px}.promptpay-header{align-items:center;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;display:flex;gap:12px;padding:16px}.promptpay-logo{background:#fff;border-radius:8px;height:40px;padding:8px;width:40px}.qr-code-container{justify-content:center;margin:20px 0}.qr-code-placeholder{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;padding:20px;text-align:center}.qr-code{align-items:center;display:flex;flex-direction:column;gap:16px}.direct-pattern,.qr-pattern{align-items:center;background:#fff;border:4px solid #2c3e50;border-radius:8px;display:flex;height:300px;justify-content:center;position:relative;width:300px}.direct-pattern{flex-direction:column}.qr-code-image{border-radius:4px;max-height:100%;max-width:100%}.qr-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);height:160px;width:160px}.qr-module{border-radius:2px;height:100%;width:100%}.qr-module.dark{background:#2c3e50}.qr-module.light{background:#ecf0f1}.qr-info{text-align:center}.qr-amount{color:#28a745;font-size:1.5rem;font-weight:700;margin-bottom:8px}.qr-reference{color:#6c757d;font-family:monospace;font-size:.9rem;margin-bottom:12px}.qr-download-btn{font-size:.8rem;margin-top:8px;padding:8px 16px}.qr-loading{gap:16px;padding:40px}.payment-instructions{margin-top:16px}.payment-instructions h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:12px}.payment-instructions ol{line-height:1.6;padding-left:20px}.payment-instructions li{color:#495057;margin-bottom:8px}.payment-reference{background:#f8f9fa;border-radius:8px;margin-top:16px;padding:16px}.reference-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.reference-item:last-child{margin-bottom:0}.reference-label{color:#495057;font-weight:600}.reference-value{align-items:center;color:#2c3e50;display:flex;font-family:monospace;gap:8px}.copy-btn{background:none;border:none;border-radius:4px;cursor:pointer;padding:4px;transition:background .2s}.copy-btn:hover{background:#e9ecef}.receipt-upload-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:20px 30px 30px;padding:20px}.receipt-upload-section h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:8px}.receipt-description{color:#6c757d;font-size:.9rem;line-height:1.5;margin-bottom:16px}.receipt-uploaded{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:16px}.receipt-success{align-items:center;display:flex;gap:12px}.receipt-success .success-icon{font-size:1.5rem}.receipt-success span:not(.success-icon){color:#155724;font-size:1rem;font-weight:600}.receipt-success small{color:#155724;font-size:.8rem;margin-left:auto;opacity:.8}.file-upload-area{margin-bottom:16px}.file-input{display:none}.file-upload-label{align-items:center;background:#fff;border:2px dashed #dee2e6;border-radius:8px;cursor:pointer;display:flex;gap:16px;padding:20px;transition:all .3s ease}.file-upload-label:hover{background:#f8fff9;border-color:#28a745}.upload-icon{color:#6c757d;font-size:2rem}.upload-text{display:flex;flex-direction:column;gap:4px}.upload-primary{color:#2c3e50;font-size:1rem;font-weight:600}.upload-secondary{color:#6c757d;font-size:.85rem}.selected-file{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px;padding:16px}.file-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.file-name{color:#2c3e50;font-size:.9rem;font-weight:600}.file-size{color:#6c757d;font-size:.8rem}.file-actions{display:flex;gap:8px}.btn-upload{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:6px;padding:8px 16px;transition:background .3s ease}.btn-upload:hover:not(:disabled){background:#218838}.btn-upload:disabled{background:#6c757d;cursor:not-allowed}.btn-remove{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 12px;transition:background .3s ease}.btn-remove:hover:not(:disabled){background:#c82333}.btn-remove:disabled{background:#6c757d;cursor:not-allowed}.upload-feedback{align-items:center;border-radius:6px;display:flex;font-size:.9rem;font-weight:500;gap:8px;padding:12px 16px}.upload-feedback.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.upload-feedback.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.feedback-icon{font-size:1.2rem}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{border-bottom:1px solid #e9ecef;padding:24px 24px 16px}.modal-header h3{color:#dc3545;font-size:1.5rem;font-weight:600;margin:0}.modal-body{padding:20px 24px}.modal-body p{color:#495057;line-height:1.6;margin:0 0 16px}.modal-body p:last-child{margin-bottom:0}.cancel-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;font-size:.9rem;font-weight:500;padding:12px 16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.modal-actions .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:8px;padding:10px 20px;transition:all .3s ease}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover:not(:disabled){background:#c82333}.btn-danger:disabled{background:#6c757d;cursor:not-allowed}.modal-actions .btn-secondary{background:#6c757d;color:#fff}.modal-actions .btn-secondary:hover:not(:disabled){background:#5a6268}.payment-status{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin:32px;padding:20px}.status-indicator{align-items:center;display:flex;gap:16px}.status-icon{animation:pulse 2s infinite;font-size:2rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status-text{display:flex;flex-direction:column}.status-label{color:#856404;font-size:1.1rem;font-weight:600;margin-bottom:4px}.status-description{color:#6c757d;font-size:.9rem}.payment-actions{background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:space-between;padding:32px}.payment-actions .btn{border-radius:8px;font-size:1.1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.error-state,.expired-state,.loading-state{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001a;padding:60px 20px;text-align:center}.error-state h2,.expired-state h2{color:#dc3545;margin-bottom:16px}.error-state p,.expired-state p{color:#666;margin-bottom:24px}.expired-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.payment-header-compact{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:20px 24px}.header-main h1{font-size:1.8rem;font-weight:700;margin:0 0 8px}.match-summary{display:flex;flex-direction:column;gap:4px}.match-title{font-size:1.1rem;font-weight:600}.match-meta{font-size:.9rem;opacity:.9}.payment-timer-compact{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:8px;display:flex;flex-direction:column;min-width:120px;padding:12px 16px}.timer-label{font-size:.8rem;margin-bottom:4px;opacity:.9}.timer-value{font-family:monospace;font-size:1.5rem;font-weight:800}.purchase-info-compact{background:#f8f9fa;border-left:4px solid #28a745;border-radius:12px;margin:20px 24px;padding:16px 20px}.info-row{align-items:center;font-size:1rem;margin-bottom:12px}.total-amount{color:#28a745;font-size:1.3rem}.reference-compact{align-items:center;color:#6c757d;display:flex;font-family:monospace;font-size:.9rem;justify-content:space-between}.copy-btn-small{background:none;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;padding:4px 6px;transition:background .2s}.copy-btn-small:hover{background:#0000001a}.payment-method-compact{margin:0 24px 24px}.payment-method-compact h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin-bottom:16px}.payment-method-compact .promptpay-section{display:flex;flex-direction:column;gap:16px}.payment-method-compact .promptpay-header{align-items:center;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;display:flex;gap:12px;padding:12px 16px}.payment-method-compact .qr-code-container{margin:16px 0}.payment-method-compact .payment-instructions{margin-top:12px}.payment-method-compact .payment-instructions h4{font-size:1.1rem;margin-bottom:8px}.payment-method-compact .payment-instructions ol{line-height:1.5;padding-left:16px}.payment-method-compact .payment-instructions li{font-size:.9rem;margin-bottom:6px}.payment-method-compact .payment-reference{margin-top:12px;padding:12px 16px}.payment-method-compact .receipt-upload-section{margin-top:16px;padding:16px}.payment-method-compact .receipt-upload-section h4{font-size:1.1rem;margin-bottom:6px}.payment-method-compact .receipt-description{font-size:.85rem;margin-bottom:12px}.match-info-compact{border-bottom:1px solid #dee2e6;margin-bottom:16px;padding-bottom:16px}.match-info-compact .match-title{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:8px}.match-details-inline{color:#6c757d;display:flex;font-size:.9rem;gap:16px}.match-details-inline span{align-items:center;display:flex;gap:4px}.purchase-items-compact{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.purchase-items-compact .item-row{align-items:center;display:flex;font-size:1rem;justify-content:space-between;padding:6px 0}.purchase-items-compact .item-row.total{border-top:2px solid #dee2e6;color:#28a745;font-size:1.1rem;font-weight:700;margin-top:8px;padding-top:12px}.payment-reference-compact{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.payment-reference-compact .reference-label{color:#495057;font-size:.9rem;font-weight:600}.payment-reference-compact .reference-value{align-items:center;color:#2c3e50;display:flex;font-family:monospace;font-size:.9rem;font-weight:600;gap:8px}@media (max-width:768px){.payment-container{padding:20px 16px}.payment-header{padding:16px 20px}.payment-header h1{font-size:1.5rem;margin-bottom:12px}.payment-details{gap:24px;grid-template-columns:1fr;padding:24px 20px}.purchase-summary{order:1}.payment-method{order:2}.timer-text{align-items:flex-start}.timer-value{font-size:1.5rem}.payment-actions{flex-direction:column;gap:12px;padding:24px 20px}.payment-actions .btn{width:100%}.direct-pattern,.qr-pattern{height:150px;width:150px}.direct-pattern{font-size:small}.qr-grid{height:120px;width:120px}.expired-actions{align-items:center;flex-direction:column}.expired-actions .btn{max-width:280px;width:100%}.payment-header-compact{flex-direction:column;padding:16px 20px;text-align:center}.header-main h1{font-size:1.6rem}.match-title{font-size:1rem}.match-meta{font-size:.85rem}.payment-timer-compact{max-width:200px;width:100%}.purchase-info-compact{margin:16px 20px;padding:12px 16px}.info-row{font-size:.9rem}.total-amount{font-size:1.2rem}.reference-compact{font-size:.8rem}.payment-method-compact{margin:0 20px 20px}.payment-method-compact h3{font-size:1.2rem;margin-bottom:12px}.receipt-upload-section{margin-top:16px;padding:16px}.file-upload-label{flex-direction:column;padding:16px;text-align:center}.selected-file{align-items:stretch;flex-direction:column;gap:12px;padding:12px}.file-actions{justify-content:center}.btn-remove,.btn-upload{font-size:.9rem;padding:10px 16px}.match-details-inline{flex-direction:column;gap:8px}.purchase-items-compact .item-row{font-size:.9rem}.purchase-items-compact .item-row.total{font-size:1rem}.payment-reference-compact{align-items:stretch;flex-direction:column;gap:8px;text-align:center}.payment-reference-compact .reference-value{font-size:.8rem;justify-content:center}}.receipt-display-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin:30px;padding:20px}.receipt-display-section h4{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:16px}.receipt-preview{align-items:flex-start;display:flex;gap:20px}.receipt-image-container{flex-shrink:0}.receipt-image{border:2px solid #dee2e6;border-radius:8px;box-shadow:0 4px 8px #0000001a;height:auto;max-height:250px;max-width:200px;transition:transform .2s ease,box-shadow .2s ease;width:auto}.receipt-image:hover{box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.receipt-info{display:flex;flex:1 1;flex-direction:column;gap:12px}.receipt-status{color:#28a745;font-weight:500}.receipt-status .success-icon{font-size:1.2rem}.receipt-timestamp{color:#6c757d;font-size:.9rem}.receipt-action{margin-top:8px}.btn-sm{font-size:.9rem;padding:8px 16px}@media (max-width:768px){.receipt-display-section{margin:20px;padding:16px}.receipt-preview{flex-direction:column;gap:16px}.receipt-image-container{align-self:center}.receipt-image{max-height:200px;max-width:150px}.receipt-info{text-align:center}}.policy-notice{text-align:center}.error-text{color:#dc3545;font-weight:500}.my-tickets-page{background-color:#f8f9fa;font-family:Kanit,sans-serif;min-height:100vh}.my-tickets-container{margin:0 auto;max-width:1200px;padding:20px}.my-tickets-header{margin-bottom:30px;text-align:center}.my-tickets-header h1{color:#2c3e50;font-size:2.5rem;font-weight:600;margin-bottom:10px}.my-tickets-header p{color:#6c757d;font-size:1.1rem}.filter-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:4px;margin-bottom:24px;padding:8px}.filter-tab{align-items:center;background:#0000;border:none;border-radius:8px;color:#6c757d;cursor:pointer;display:flex;flex:1 1;font-family:Kanit,sans-serif;font-size:.9rem;font-weight:500;gap:8px;justify-content:center;padding:12px 16px;transition:all .3s ease}.filter-tab:hover{background-color:#f8f9fa;color:#2c3e50}.filter-tab.active{background-color:#007bff;box-shadow:0 2px 8px #007bff4d;color:#fff}.tab-icon{font-size:1.1rem}.desktop-only{display:flex}.mobile-only{display:none}.filter-dropdown{margin-bottom:24px;position:relative}.filter-dropdown-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#2c3e50;cursor:pointer;display:flex;font-family:Kanit,sans-serif;font-size:.9rem;justify-content:space-between;padding:12px 16px;transition:all .2s ease;width:100%}.filter-dropdown-button:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff33}.filter-dropdown-button:focus{border-color:#007bff;outline:none}.dropdown-icon{font-size:1.1rem;margin-right:8px}.dropdown-text{flex:1 1;font-weight:500;text-align:left}.dropdown-arrow{color:#6c757d;font-size:.8rem;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.filter-dropdown-menu{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.filter-dropdown-item{align-items:center;background:none;border:none;border-bottom:1px solid #f8f9fa;color:#2c3e50;cursor:pointer;display:flex;font-family:Kanit,sans-serif;font-size:.9rem;gap:12px;padding:12px 16px;transition:background-color .2s ease;width:100%}.filter-dropdown-item:last-child{border-bottom:none}.filter-dropdown-item:hover{background-color:#f8f9fa}.filter-dropdown-item.active{background-color:#e3f2fd;color:#1976d2}.item-icon{flex-shrink:0;font-size:1rem}.item-text{flex:1 1;font-weight:500;text-align:left}.check-mark{color:#007bff;font-size:.9rem;font-weight:700}.loading-state{padding:60px 20px;text-align:center}.loading-spinner{animation:bounce 1s infinite;font-size:3rem;margin-bottom:20px}.error-state{padding:60px 20px}.error-state h2{color:#dc3545;margin-bottom:15px}.error-state p{color:#6c757d;margin-bottom:20px}.empty-state{padding:60px 20px;text-align:center}.empty-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.empty-state h3{color:#2c3e50;margin-bottom:10px}.empty-state p{color:#6c757d;margin-bottom:30px}.my-tickets-section{margin-bottom:40px}.tickets-list-compact{grid-gap:8px;display:grid;gap:8px;margin-bottom:24px}.compact-ticket-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 1px 4px #00000014;cursor:pointer;overflow:hidden;transition:all .2s ease}.compact-ticket-card:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.compact-ticket-card.active-ticket{border-left:3px solid #28a745}.compact-ticket-card.pending-ticket{border-left:3px solid #ffc107}.compact-ticket-card.verifying-ticket{border-left:3px solid #17a2b8}.compact-ticket-card.failed-ticket{border-left:3px solid #dc2626}.ticket-compact-header{align-items:flex-start;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 16px}.match-main-info{flex:1 1}.status-badge-compact{align-items:center;background:#f8f9fa;border-radius:6px;display:inline-flex;font-size:.75rem;gap:6px;margin-bottom:6px;padding:4px 8px}.status-badge-compact .status-icon{font-size:1rem}.status-badge-compact .status-text{color:#6c757d;font-weight:500}.match-title-compact{color:#2c3e50;font-size:1.1rem;font-weight:600;line-height:1.2;margin-bottom:4px}.match-info-compact{color:#6c757d;display:flex;flex-direction:column;font-size:.8rem;gap:2px}.ticket-summary{gap:4px;text-align:right}.price-quantity,.ticket-summary{align-items:flex-end;display:flex;flex-direction:column}.price{color:#2c3e50;font-size:1.1rem}.quantity{color:#6c757d;font-size:.75rem}.ticket-category{background:#007bff;border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px;text-transform:uppercase}.ticket-action-bar{align-items:center;background:#fafafa;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;min-height:40px;padding:8px 16px}.action-status{flex:1 1}.status-indicator{border-radius:4px;display:inline-block;font-size:.8rem;font-weight:500;padding:4px 8px}.status-indicator.active{background:#d4edda;color:#155724}.status-indicator.pending{background:#fff3cd;color:#856404}.status-indicator.verifying{background:#d1ecf1;color:#0c5460}.status-indicator.failed{background:#f8d7da;color:#721c24}.action-buttons-compact{display:flex;gap:6px;margin-right:12px}.btn-compact{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 8px;transition:all .2s ease}.btn-compact.primary{background:#007bff;color:#fff}.btn-compact.secondary{background:#6c757d;color:#fff}.btn-compact.warning{background:#ffc107;color:#212529}.btn-compact.info{background:#17a2b8;color:#fff}.btn-compact.danger{background:#dc3545;color:#fff}.btn-compact:hover{transform:translateY(-1px)}.ticket-meta{align-items:center;display:flex;gap:8px}.ticket-id-compact{color:#6c757d;font-family:monospace;font-size:.7rem}.meta-actions{display:flex;gap:4px}.action-btn-micro{background:none;border:1px solid #ddd;border-radius:3px;color:#6c757d;cursor:pointer;font-size:.7rem;padding:2px 4px;transition:all .2s ease}.action-btn-micro:hover{background:#f8f9fa;color:#495057}.qr-status{background:#f8fcff;border-top:1px solid #e3f2fd;justify-content:space-between;padding:12px 16px}.qr-ready,.qr-status{align-items:center;display:flex}.qr-ready{gap:12px}.qr-icon{font-size:1.3rem}.qr-text{display:flex;flex-direction:column}.qr-title{color:#0056b3;font-size:.9rem;font-weight:600}.qr-subtitle{color:#6c757d;font-size:.8rem;margin-top:2px}.qr-actions{display:flex;gap:8px}.payment-verification{background:#fffbf0;border-top:1px solid #fff3cd;padding:12px 16px}.verification-status{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.verification-icon{font-size:1.3rem}.verification-text{display:flex;flex:1 1;flex-direction:column;margin-left:12px}.verification-title{color:#856404;font-size:.9rem;font-weight:600}.verification-subtitle{color:#6c757d;font-size:.8rem;margin-top:2px}.progress-indicator{background:#ffc107;border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px}.verification-actions{display:flex;gap:8px}.ticket-used-status{background:#f8f9fa;border-top:1px solid #e9ecef;padding:12px 16px}.used-info{align-items:center;display:flex;gap:12px;margin-bottom:8px}.used-icon{font-size:1.3rem}.used-text{display:flex;flex-direction:column}.used-title{color:#28a745;font-size:.9rem;font-weight:600}.used-subtitle{color:#6c757d;font-size:.8rem;margin-top:2px}.used-actions{display:flex;gap:8px}.purchase-info{background:#fafafa;border-top:1px solid #e9ecef;padding:12px 16px}.purchase-details{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.purchase-text{color:#6c757d;font-size:.85rem}.buyer-name{color:#2c3e50;font-size:.85rem;font-weight:500}.ticket-actions{align-items:center;justify-content:space-between}.ticket-id{color:#6c757d;font-family:monospace;font-size:.8rem}.action-buttons{display:flex;gap:8px}.action-btn{background:none;border:1px solid #ddd;border-radius:6px;color:#6c757d;font-size:.75rem;padding:4px 8px;transition:all .2s ease}.action-btn:hover{background:#f8f9fa;color:#2c3e50}.action-btn.share:hover{border-color:#007bff;color:#007bff}.action-btn.print:hover{border-color:#28a745;color:#28a745}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-family:Kanit,sans-serif;font-size:.85rem;font-weight:500;gap:6px;justify-content:center;padding:8px 16px;text-decoration:none;transition:all .3s ease}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3;transform:translateY(-1px)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}.btn-success{background-color:#28a745;color:#fff}.btn-success:hover{background-color:#218838;transform:translateY(-1px)}.btn-warning{background-color:#ffc107;color:#212529}.btn-warning:hover{background-color:#e0a800;transform:translateY(-1px)}.btn-outline{background-color:initial;border:1px solid #dee2e6;color:#6c757d}.btn-outline:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#495057}.btn-sm{font-size:.8rem;padding:6px 12px}.support-section{margin-top:32px}.support-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.support-header{align-items:center;display:flex;gap:16px;margin-bottom:16px}.support-icon{background:#f8f9fa;border-radius:50%;font-size:2rem;padding:12px}.support-text h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:4px}.support-text p{color:#6c757d;font-size:.9rem;margin:0}.support-actions{display:flex;gap:12px}.section-title{font-size:1.5rem;font-weight:600;margin-bottom:8px}.section-subtitle{color:#6c757d;font-size:1rem;margin-bottom:20px}@media (max-width:768px){.my-tickets-container{padding:15px}.my-tickets-header h1{font-size:2rem}.desktop-only{display:none!important}.mobile-only{display:block!important}.ticket-compact-header{padding:10px 12px}.match-title-compact{font-size:1rem}.ticket-action-bar{align-items:stretch;flex-direction:column;gap:8px;padding:6px 12px}.action-buttons-compact{justify-content:flex-start;width:100%}.tickets-list-compact{gap:6px}.qr-actions,.used-actions,.verification-actions{flex-direction:column;gap:8px}.purchase-details,.ticket-actions{align-items:flex-start;flex-direction:column;gap:8px}.action-buttons{justify-content:flex-start;width:100%}.support-header{flex-direction:column;gap:12px;text-align:center}.support-actions{flex-direction:column;gap:8px}}@media (max-width:480px){.my-tickets-header h1{font-size:1.8rem}.filter-tab{font-size:.85rem;min-width:100%}.compact-ticket-card{border-radius:6px}.ticket-summary{align-items:flex-start;margin-top:8px}.match-title{font-size:1.1rem}.ticket-status-header{padding:12px 16px}.status-title{font-size:.9rem}.status-subtitle{font-size:.75rem}.ticket-badge{font-size:.7rem;padding:3px 8px}}.ticket-detail-page{background:linear-gradient(135deg,#f8fafc,#e2e8f0);min-height:100vh}.ticket-detail-container{font-family:Kanit,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 auto;max-width:900px;padding:20px}.ticket-header-modern{margin-bottom:24px}.header-navigation{margin-bottom:16px}.back-button-modern{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#64748b;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s}.back-button-modern:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 6px #0000001a;color:#475569;transform:translateY(-1px)}.back-icon{font-size:16px}.ticket-overview-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;padding:24px}.ticket-detail-match-header{align-items:flex-start;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.teams-display{align-items:center;display:flex;gap:20px}.team-info{min-width:120px;text-align:center}.team-name{color:#1e293b;font-size:18px;font-weight:700;margin-bottom:4px}.team-label{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.vs-separator{border-radius:50%;color:#fff;font-weight:700;height:40px;justify-content:center;width:40px}.status-badge-modern,.vs-separator{align-items:center;display:flex;font-size:14px}.status-badge-modern{border-radius:20px;font-weight:600;gap:8px;padding:8px 16px;white-space:nowrap}.status-badge-modern.success{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.status-badge-modern.warning{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.status-badge-modern.info{background:#dbeafe;border:1px solid #bfdbfe;color:#1e40af}.status-badge-modern.danger{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.match-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:12px;padding:16px}.detail-item.price-highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.detail-icon{flex-shrink:0;font-size:20px}.detail-content{display:flex;flex-direction:column;gap:2px}.detail-label{color:#64748b;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#1e293b;font-size:14px;font-weight:600}.detail-value.price{color:#92400e;font-size:16px}.info-cards-section{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.tickets-card{margin-bottom:24px}.info-card,.status-card,.tickets-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;padding:16px 20px}.card-icon{font-size:18px}.card-title{color:#1e293b;font-size:16px;font-weight:600;margin:0}.card-content{padding:20px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-item{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:12px 0}.info-item:last-child{border-bottom:none}.info-label{color:#64748b;font-size:14px;font-weight:500}.info-value{align-items:center;color:#1e293b;display:flex;font-size:14px;font-weight:600;gap:8px}.reference-number{font-family:Monaco,Menlo,monospace;font-size:13px}.copy-btn-inline{background:none;border:none;border-radius:4px;cursor:pointer;padding:4px;transition:background-color .2s}.copy-btn-inline:hover{background:#f1f5f9}.venue-card .card-content{padding:16px 20px}.venue-address{color:#475569;font-size:14px;line-height:1.5}.status-content{border-radius:8px;padding:16px}.status-content.pending{background:#fef3c7;border:1px solid #fde68a}.status-content.verifying{background:#dbeafe;border:1px solid #bfdbfe}.status-content.expired,.status-content.rejected{background:#fee2e2;border:1px solid #fecaca}.rejection-card{border-left:4px solid #dc2626}.rejection-reason-box{background:#fff;border:1px solid #fecaca;border-radius:6px;box-shadow:0 1px 3px #0000001a;margin:12px 0;padding:12px}.rejection-reason-text{word-wrap:break-word;color:#991b1b;font-weight:500;line-height:1.6;white-space:pre-wrap}.rejection-meta{border-top:1px solid #fecaca;margin-top:12px;padding-top:12px}.rejection-date{color:#7f1d1d;font-size:14px;font-weight:500}.status-message{display:flex;flex-direction:column;gap:8px}.status-title{font-size:16px;font-weight:600;margin:0}.status-title.warning{color:#92400e}.status-title.info{color:#1e40af}.status-title.error{color:#dc2626}.status-description{font-size:14px;line-height:1.5}.countdown-info{display:flex;flex-direction:column;gap:4px}.time-remaining{color:#92400e;font-weight:600}.expires-at{color:#78716c;font-size:13px}.receipt-status{align-items:center;background:#ffffff80;border-radius:6px;display:flex;gap:8px;margin-top:8px;padding:8px 12px}.receipt-icon{font-size:16px}.receipt-text{color:#1e40af;font-size:13px}.tickets-instructions{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px;padding:16px}.instruction-item{align-items:center;display:flex;gap:8px;margin-bottom:8px}.instruction-item:last-child{margin-bottom:0}.instruction-icon{font-size:16px}.instruction-text{color:#0369a1;font-size:14px;line-height:1.4}.tickets-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.ticket-item{background:#fafafa;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.ticket-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:16px}.ticket-info{display:flex;flex-direction:column;gap:4px}.ticket-number{color:#1e293b;font-family:Monaco,Menlo,monospace;font-size:14px;font-weight:600}.ticket-label{color:#64748b;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.ticket-status{align-items:center;display:flex;gap:6px}.ticket-status.active{color:#059669}.status-dot{background:#10b981;border-radius:50%;height:8px;width:8px}.status-text{font-size:12px;font-weight:500}.qr-container{background:#fff;display:flex;justify-content:center;padding:20px}.qr-display-wrapper{display:inline-block;position:relative}.qr-code-image{border:2px solid #e2e8f0;border-radius:8px;height:180px;width:180px}.qr-overlay{bottom:-8px;left:50%;position:absolute;transform:translateX(-50%)}.qr-ready-badge{align-items:center;background:#10b981;border-radius:12px;color:#fff;display:flex;font-size:12px;font-weight:500;gap:4px;padding:4px 8px}.qr-loading-state{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:12px;padding:40px}.loading-spinner{animation:spin 2s linear infinite;font-size:24px}.loading-text{font-size:14px}.ticket-actions{background:#f8fafc;display:flex;gap:8px;padding:16px}.action-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:500;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s}.action-button:hover{background:#f1f5f9;border-color:#cbd5e1}.copy-button{border-color:#c7d2fe;color:#6366f1}.copy-button:hover{background:#eef2ff}.download-button{border-color:#a7f3d0;color:#059669}.download-button:hover{background:#ecfdf5}.empty-state-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:40px 20px;text-align:center}.empty-icon{font-size:48px;margin-bottom:16px}.empty-title{color:#1e293b;font-size:18px;font-weight:600;margin:0 0 8px}.empty-description{color:#64748b;font-size:14px;line-height:1.5;margin:0}.action-buttons-section{border-top:1px solid #e2e8f0;margin-top:32px;padding-top:24px}.button-group{flex-wrap:wrap;gap:12px}.action-btn,.button-group{display:flex;justify-content:center}.action-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;gap:8px;min-width:160px;padding:12px 24px;transition:all .2s}.action-btn.secondary{background:#f8fafc;border:1px solid #e2e8f0;color:#475569}.action-btn.secondary:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.action-btn.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 6px -1px #3b82f64d;color:#fff}.action-btn.primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 8px 25px -1px #3b82f666;transform:translateY(-2px)}.action-btn.info{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 4px 6px -1px #06b6d44d;color:#fff}.action-btn.info:hover{background:linear-gradient(135deg,#0891b2,#0e7490);box-shadow:0 8px 25px -1px #06b6d466;transform:translateY(-2px)}.action-btn.warning{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 6px -1px #f59e0b4d;color:#fff}.action-btn.warning:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 8px 25px -1px #f59e0b66;transform:translateY(-2px)}.btn-icon{font-size:16px}.loading-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.loading-state .loading-spinner{animation:bounce 1s infinite;font-size:48px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.loading-state h2{color:#64748b;font-size:18px;margin:0}.error-state{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px;text-align:center}.error-state h2{color:#dc2626;font-size:20px;margin:0}.error-state p{color:#64748b;font-size:14px;margin:0}.error-actions{display:flex;gap:12px;margin-top:16px}@media (max-width:768px){.status-badge-modern.warning{margin-left:auto;margin-right:auto}.ticket-detail-container{padding:16px}.ticket-overview-card{padding:20px}.ticket-detail-match-header{flex-direction:column;gap:16px;text-align:center}.teams-display{flex-direction:row;gap:12px;margin-left:auto;margin-right:auto;padding:24px}.info-grid,.match-details-grid,.tickets-grid{grid-template-columns:1fr}.button-group{flex-direction:column}.action-btn{min-width:auto;width:100%}}@media (max-width:480px){.ticket-detail-container{padding:12px}.ticket-overview-card{padding:16px}.team-name{font-size:16px}.vs-separator{font-size:12px;height:32px;width:32px}.qr-code-image{height:150px;width:150px}}.rejected-receipt-display{border-top:1px solid #fecaca;margin-top:16px;padding-top:16px}.rejected-receipt-display .receipt-title{color:#7f1d1d;font-size:14px;font-weight:600;margin-bottom:12px}.rejected-receipt-display .receipt-preview{align-items:flex-start;display:flex;gap:16px}.rejected-receipt-display .receipt-image-container{flex-shrink:0}.rejected-receipt-display .receipt-image{border:2px solid #fecaca;border-radius:6px;box-shadow:0 2px 4px #0000001a;height:auto;max-height:150px;max-width:120px;transition:transform .2s ease,box-shadow .2s ease;width:auto}.rejected-receipt-display .receipt-image:hover{box-shadow:0 4px 8px #00000026;transform:scale(1.02)}.rejected-receipt-display .receipt-info{display:flex;flex:1 1;flex-direction:column;gap:8px}.rejected-receipt-display .receipt-status{align-items:center;display:flex;font-size:12px;font-weight:500;gap:6px}.rejected-receipt-display .receipt-status.rejected{color:#dc2626}.rejected-receipt-display .receipt-status .status-icon{font-size:14px}.rejected-receipt-display .receipt-timestamp{color:#6b7280;font-size:11px}.rejected-receipt-display .receipt-action{margin-top:6px}.rejected-receipt-display .btn-sm{background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#374151;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .2s ease}.rejected-receipt-display .btn-sm:hover{background:#e5e7eb;border-color:#9ca3af}@media (max-width:768px){.rejected-receipt-display .receipt-preview{flex-direction:column;gap:12px}.rejected-receipt-display .receipt-image-container{align-self:center}.rejected-receipt-display .receipt-image{max-height:120px;max-width:100px}.rejected-receipt-display .receipt-info{text-align:center}}.match-results-page{background-color:#f8f9fa;min-height:100vh}.match-results-page .page-header{background:linear-gradient(135deg,#1a237e,#3f51b5);color:#fff;margin-bottom:40px;padding:60px 0}.match-results-page .container{margin:0 auto;max-width:1200px;padding:0 1rem}.match-results-page .page-title{font-size:2.5rem;font-weight:700;margin-bottom:10px;text-align:center}.match-results-page .page-subtitle{font-size:1.1rem;margin-bottom:30px;opacity:.9;text-align:center}.year-selector{align-items:center;display:flex;gap:10px;justify-content:center;margin-top:20px}.year-selector label{font-size:1rem;font-weight:600}.year-select{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;padding:8px 16px;transition:all .3s ease}.year-select:focus{background:#fff3;border-color:#fff9;outline:none}.year-select option{background:#1a237e;color:#fff}.match-results-page .loading{color:#6c757d;font-size:1.2rem;padding:60px 20px;text-align:center}.match-results-page .alert{border:1px solid #0000;border-radius:8px;margin-bottom:30px;padding:16px 20px}.match-results-page .alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.match-results-page .empty-state{padding:80px 20px;text-align:center}.match-results-page .empty-state h3{color:#2c3e50;font-size:1.5rem;margin-bottom:15px}.match-results-page .empty-state p{color:#6c757d;font-size:1.1rem}.matches-container{display:flex;flex-direction:column;gap:30px}.tabs-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px;overflow:hidden}.tabs-nav{background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex}.tab-button{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;flex:1 1;font-size:1rem;font-weight:500;gap:8px;justify-content:center;padding:16px 20px;position:relative;transition:all .3s ease}.tab-button:hover{background:#1a237e0d;color:#1a237e}.tab-button.active{background:#fff;color:#1a237e;font-weight:600}.tab-button.active:after{background:linear-gradient(135deg,#1a237e,#3f51b5);bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.tab-icon{font-size:1.2rem}.tab-text{font-size:1rem}.tab-count{background:#1a237e;border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;min-width:20px;padding:4px 8px;text-align:center}.tab-button.active .tab-count{background:#ff6b35}.tab-content{min-height:400px}.scoreboard-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.scoreboard-header{background:linear-gradient(135deg,#1a237e,#3f51b5);color:#fff;padding:20px 24px;text-align:center}.scoreboard-header h3{font-size:1.4rem;font-weight:600;margin:0}.scoreboard-table{overflow-x:auto}.scoreboard-table-header{background:#f8f9fa;border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:.9rem;font-weight:600;text-align:center}.scoreboard-row,.scoreboard-table-header{grid-gap:8px;display:grid;gap:8px;grid-template-columns:60px 1fr repeat(7,50px) 70px;padding:16px 20px}.scoreboard-row{align-items:center;border-bottom:1px solid #e9ecef;transition:all .2s ease}.scoreboard-row:hover{background:#f8f9fa}.scoreboard-row.pattani-row{background:linear-gradient(135deg,#fff8e1,#fff3c4);border-left:4px solid #ff6b35;font-weight:600}.scoreboard-row.pattani-row:hover{background:linear-gradient(135deg,#fff3c4,#ffecb3)}.pos-col{font-weight:600;text-align:center}.position{align-items:center;background:#e9ecef;border-radius:50%;color:#6c757d;display:inline-flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;width:32px}.position.top-3{background:linear-gradient(135deg,gold,#ffed4e);color:#2c3e50}.team-col{min-width:200px}.team-info{align-items:center;display:flex;gap:12px}.team-logo-small{border-radius:4px;height:32px;object-fit:contain;width:32px}.team-names{display:flex;flex-direction:column;gap:2px}.team-name{color:#2c3e50;font-size:.95rem;font-weight:500;line-height:1.2}.team-name-en{color:#6c757d;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.stats-col{color:#2c3e50;font-size:.9rem;text-align:center}.stats-col.positive{color:#28a745;font-weight:600}.stats-col.negative{color:#dc3545;font-weight:600}.points-col{text-align:center}.points{align-items:center;background:#1a237e;border-radius:6px;color:#fff;display:inline-flex;font-size:.95rem;font-weight:700;height:32px;justify-content:center;width:40px}.pattani-row .points{background:#ff6b35}.empty-tab-state{color:#6c757d;padding:60px 20px;text-align:center}.empty-tab-state h3{color:#2c3e50;font-size:1.4rem;margin-bottom:15px}.empty-tab-state p{font-size:1rem;margin:0}.matches-section{margin-bottom:30px}.section-title{border-bottom:3px solid #1a237e;color:#2c3e50;font-size:1.8rem;margin-bottom:25px;padding-bottom:10px;position:relative}.section-title:after{background:linear-gradient(135deg,#ff6b35,#f7931e);bottom:-3px;content:"";height:3px;left:0;position:absolute;width:60px}.matches-list{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}.match-result-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:all .3s ease}.upcoming-match{background:linear-gradient(135deg,#fff,#f8f9ff);border-left:5px solid #007bff}.finished-match{border-left:5px solid #28a745}.match-result-card:hover{box-shadow:0 8px 15px #00000026;transform:translateY(-2px)}.match-results-page .match-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:20px 24px}.match-date .date{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:4px}.match-date .time{color:#6c757d;font-size:.9rem}.match-status{border-radius:20px;font-size:.9rem;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.result-win{background-color:#d4edda;border:2px solid #c3e6cb;color:#155724}.result-lose{background-color:#f8d7da;border:2px solid #f5c6cb;color:#721c24}.result-draw{background-color:#fff3cd;border:2px solid #ffeaa7;color:#856404}.upcoming-status{background-color:#d1ecf1;border:2px solid #bee5eb;color:#0c5460}.results-match-teams{align-items:center;display:flex;gap:20px;padding:30px 24px}.results-team{align-items:center;display:flex;flex:1 1;gap:15px}.results-opponent-team{flex-direction:row-reverse}.results-team-logo{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:50%;display:flex;height:60px;justify-content:center;overflow:hidden;width:60px}.results-team-logo-img{height:50px;object-fit:contain;width:50px}.results-team-info h3{color:#2c3e50;font-size:1.2rem;font-weight:600;margin-bottom:4px}.results-team-info span{color:#6c757d;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase}.results-pattani-team .results-team-info{text-align:left}.results-opponent-team .results-team-info{text-align:right}.results-match-score{align-items:center;display:flex;flex-direction:column;min-width:120px}.results-score{color:#1a237e;font-size:2rem;font-weight:700;margin-bottom:8px;text-align:center}.upcoming-vs{background:#007bff1a;border:2px solid #007bff33;border-radius:25px;color:#007bff;font-size:1.5rem;font-weight:600;padding:10px 20px}.results-venue-info{background:#e9ecef;border-radius:12px;color:#6c757d;font-size:.85rem;padding:4px 12px;text-align:center}.results-match-details{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;padding:20px 24px}.results-competition-info{display:flex;flex-direction:column;gap:4px}.results-tournament{color:#1a237e;font-size:.9rem;font-weight:600}.results-stage{color:#6c757d;font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.results-stadium-info{display:flex;flex-direction:column;gap:4px;text-align:right}.results-stadium{color:#2c3e50;font-size:.9rem;font-weight:500}.results-attendance{color:#6c757d;font-size:.8rem}@media (max-width:768px){.match-results-page .page-title{font-size:2rem}.match-results-page .page-subtitle{font-size:1rem}.tab-button{flex-direction:column;gap:6px;padding:12px 8px}.tab-text{font-size:.9rem;line-height:1.2;text-align:center}.tab-icon{font-size:1.4rem}.tab-count{font-size:.7rem;padding:2px 6px}.scoreboard-row,.scoreboard-table-header{font-size:.8rem;gap:4px;grid-template-columns:50px 1fr 40px 40px 40px 40px 50px;padding:12px 16px}.scoreboard-row .stats-col:nth-child(n+6),.scoreboard-table-header .stats-col:nth-child(n+6){display:none}.team-info{gap:8px}.team-logo-small{height:24px;width:24px}.team-name{font-size:.85rem}.team-name-en{display:none}.points{font-size:.85rem;height:28px;width:32px}.match-results-page .match-header{flex-direction:column;gap:15px;text-align:center}.results-match-teams{flex-direction:row;gap:30px;padding:20px}.results-team{flex-direction:column;gap:10px;order:0;text-align:center}.results-opponent-team{flex-direction:column;order:2}.results-team-info{text-align:center!important}.results-match-score{margin-bottom:20px;order:1}.results-score{font-size:2.5rem}.results-match-details{flex-direction:column;gap:10px;text-align:center}.results-stadium-info{text-align:center}}@media (max-width:480px){.match-results-page .match-result-card{border-radius:0;margin:0 -15px}.match-results-page .page-header{padding:40px 0}.match-results-page .page-title{font-size:1.8rem}.results-team-logo{height:50px;width:50px}.results-team-logo-img{height:40px;width:40px}.results-score{font-size:2rem}}.terms-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.terms-page .hero-section{background:#0000004d;padding:60px 0 40px;text-align:center}.terms-page .hero-content h1{color:#fff;font-size:2.5rem;font-weight:700;margin-bottom:15px}.terms-page .hero-content p{color:#ffffffe6;font-size:1.2rem;margin:0 auto;max-width:600px}.content-section{background:#fff;min-height:70vh;padding:60px 0}.terms-content{margin:0 auto;max-width:800px;padding:0 20px}.terms-header{border-bottom:2px solid #e9ecef;margin-bottom:50px;padding-bottom:30px;text-align:center}.terms-header h2{color:#2c3e50;font-size:2rem;font-weight:600;margin-bottom:10px}.last-updated{color:#6c757d;font-style:italic;margin:0}.terms-sections{display:flex;flex-direction:column;gap:40px}.terms-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.terms-section h3{align-items:center;color:#2c3e50;display:flex;font-size:1.4rem;font-weight:600;gap:10px;margin-bottom:15px}.terms-section h3:before{content:"📋";font-size:1.2rem}.terms-section p{color:#495057;line-height:1.7;margin-bottom:15px}.terms-section ul{list-style:none;padding-left:0}.terms-section li{color:#495057;line-height:1.6;margin-bottom:8px;padding-left:25px;position:relative}.terms-section li:before{color:#28a745;content:"✓";font-weight:700;left:0;position:absolute;top:0}.contact-info{background:#fff;border:1px solid #dee2e6;border-radius:8px;margin-top:15px;padding:20px}.contact-info p{color:#495057;margin:8px 0}.contact-info strong{color:#2c3e50}.terms-section:first-child{border-left-color:#28a745}.terms-section:first-child h3:before{content:"📜"}.terms-section:nth-child(2){border-left-color:#17a2b8}.terms-section:nth-child(2) h3:before{content:"⚽"}.terms-section:nth-child(3){border-left-color:#ffc107}.terms-section:nth-child(3) h3:before{content:"👤"}.terms-section:nth-child(4){border-left-color:#fd7e14}.terms-section:nth-child(4) h3:before{content:"🎫"}.terms-section:nth-child(5){border-left-color:#6f42c1}.terms-section:nth-child(5) h3:before{content:"💳"}.terms-section:nth-child(6){border-left-color:#e83e8c}.terms-section:nth-child(6) h3:before{content:"🔒"}.terms-section:nth-child(7){border-left-color:#dc3545}.terms-section:nth-child(7) h3:before{content:"⚠️"}.terms-section:nth-child(8){border-left-color:#6c757d}.terms-section:nth-child(8) h3:before{content:"⚖️"}.terms-section:nth-child(9){border-left-color:#20c997}.terms-section:nth-child(9) h3:before{content:"🔄"}.terms-section:nth-child(10){border-left-color:#007bff}.terms-section:nth-child(10) h3:before{content:"📞"}@media (max-width:768px){.terms-page .hero-content h1{font-size:2rem}.terms-page .hero-content p{font-size:1rem;padding:0 20px}.terms-content{padding:0 15px}.terms-section{padding:20px}.terms-header h2{font-size:1.5rem}.terms-section h3{font-size:1.2rem}}.merchandise-nav-bar{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:.75rem 0}.nav-actions{gap:1rem;justify-content:flex-end;margin:0 auto;max-width:1200px;padding:0 1rem}.nav-action-btn,.nav-actions{align-items:center;display:flex}.nav-action-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#374151;cursor:pointer;font-size:.875rem;font-weight:600;justify-content:center;min-width:120px;overflow:hidden;padding:.5rem 1.25rem;position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.nav-action-btn:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.nav-action-btn:hover:before{left:100%}.nav-action-btn:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.nav-action-btn:active{box-shadow:0 1px 2px #0000000d;transform:translateY(0)}.nav-text{font-weight:600;letter-spacing:.025em}.cart-btn{background:linear-gradient(135deg,#fff,#f0fdf4);border-color:#bbf7d0;color:#166534}.cart-btn:hover{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac;box-shadow:0 4px 12px #22c55e33;color:#14532d}.orders-btn{background:linear-gradient(135deg,#fff,#fef2f2);border-color:#fecaca;color:#991b1b}.orders-btn:hover{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fca5a5;box-shadow:0 4px 12px #ef444433;color:#7f1d1d}.container{padding:0 1rem}@media (max-width:768px){.nav-actions{justify-content:center}}@media (max-width:640px){.merchandise-nav-bar{padding:.625rem 0}.nav-actions{flex-direction:column;gap:.75rem;justify-content:center;margin:0 auto;max-width:300px}.nav-action-btn{justify-content:center;max-width:240px;min-width:auto;padding:.75rem 1.25rem;width:100%}.nav-text{font-size:.875rem}}@media (max-width:480px){.nav-actions{max-width:100%;padding:0 .75rem}.nav-action-btn{max-width:100%;padding:.625rem 1rem}.nav-text{font-size:.8rem}}.merchandise-page{background-color:#f8fafc;min-height:100vh}.store-hero{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:#fff;min-height:400px;overflow:hidden;padding:0;position:relative;text-align:center}.store-hero:before{background:url(/static/media/pattani-fc-logo.d31c0381a03d1131fc8b.webp) 50%/contain no-repeat;bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0;z-index:1}.banner-carousel{height:400px;overflow:hidden;position:relative;width:100%}.banner-container{height:100%;position:relative;width:100%}.banner-slide{height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .6s ease-in-out;width:100%;z-index:1}.banner-slide.active{opacity:1;z-index:2}.banner-slide img{height:100%;object-fit:cover;width:100%}.banner-overlay{background:linear-gradient(0deg,#000c,#0000004d,#0000);bottom:0;color:#fff;left:0;padding:2rem;position:absolute;right:0;z-index:3}.banner-content{margin:0 auto;max-width:800px}.banner-title{font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 .75rem;text-shadow:2px 2px 4px #00000080}.banner-description{font-size:1.1rem;line-height:1.5;margin:0 0 1rem;opacity:.9}.banner-cta{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:25px;display:inline-block;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.banner-slide[style*=pointer] .banner-cta:hover{background:#ffffff4d;transform:translateY(-1px)}.banner-navigation{bottom:1rem;display:flex;gap:.5rem;left:50%;position:absolute;transform:translateX(-50%);z-index:4}.nav-dot{background:#0000;border:2px solid #fff9;border-radius:50%;cursor:pointer;height:12px;padding:0;transition:all .3s ease;width:12px}.nav-dot:hover{border-color:#ffffffe6;transform:scale(1.1)}.nav-dot.active{background:#ffffffe6;border-color:#fff}.merchandise-hero-content{align-items:center;display:flex;flex-direction:column;height:400px;justify-content:center;margin:0 auto;max-width:800px;padding:4rem 1rem;position:relative;z-index:2}.merchandise-hero-content h1{font-size:2.5rem;font-weight:700;margin:0 0 1rem;text-shadow:2px 2px 4px #0000004d}.merchandise-hero-content p{font-size:1.2rem;margin:0;opacity:.9}.merchandise-container{margin:0 auto;max-width:1200px;padding:0 1rem}.merchandise-loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{border:4px solid #f3f3f3;border-top-color:#3b82f6;margin-bottom:1rem}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;font-weight:500;margin:1rem;padding:1rem}.featured-section{background:#fff;padding:3rem 0}.section-title{color:#1f2937;font-size:2rem;font-weight:700;margin:0 0 2rem;text-align:center}.featured-products{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.products-section{padding:2rem 0 4rem}.filters-bar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding:1.5rem}.search-box{flex:1 1;min-width:250px}.search-input{border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filters{display:flex;flex-wrap:wrap;gap:1rem}.category-filter,.sort-filter{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:1rem;min-width:150px;padding:.75rem 1rem;transition:border-color .2s ease}.category-filter:focus,.sort-filter:focus{border-color:#3b82f6;outline:none}.products-container{min-height:400px}.products-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.product-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;position:relative;transition:all .3s ease}.product-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-4px)}.product-link{color:inherit;display:block;text-decoration:none}.product-image{height:100%;overflow:hidden;position:relative;width:100%}.product-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.product-card:hover .product-image img{transform:scale(1.05)}.merchandise-placeholder-image{align-items:center;background:#f3f4f6;color:#9ca3af;display:flex;font-size:.9rem;height:100%;justify-content:center;width:100%}.featured-badge{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;left:.5rem}.featured-badge,.stock-badge{border-radius:6px;font-size:.75rem;font-weight:600;padding:.25rem .5rem;position:absolute;top:.5rem;z-index:2}.stock-badge{right:.5rem}.stock-badge.in-stock{background:#d1fae5;color:#065f46}.stock-badge.low-stock{background:#fef3c7;color:#92400e}.stock-badge.out-of-stock{background:#fee2e2;color:#991b1b}.product-info{padding:1.25rem}.product-name{color:#1f2937;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.product-description,.product-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;line-height:1.4;overflow:hidden}.product-description{color:#6b7280;font-size:.9rem;margin:0 0 .75rem}.product-category{background:#e5e7eb;border-radius:4px;color:#374151;display:inline-block;font-size:.8rem;font-weight:500;margin-bottom:.75rem;padding:.25rem .5rem}.product-price{font-size:1.1rem;font-weight:700}.price-container{gap:.5rem}.price{color:#059669}.sale-price{color:#dc2626}.original-price{color:#9ca3af;font-size:.9rem;font-weight:500}.no-products{color:#6b7280;padding:4rem 2rem;text-align:center}.no-products p{font-size:1.1rem;margin:0}.pagination{gap:1rem}.pagination-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;font-weight:600}.pagination-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.pagination-btn:disabled{background:#d1d5db;color:#9ca3af;transform:none}.pagination-info{color:#374151;font-weight:500}.pagination-info small{color:#6b7280;font-size:.85rem}@media (max-width:768px){.store-hero{min-height:300px}.banner-carousel,.merchandise-hero-content{height:300px}.banner-overlay{padding:1.5rem}.banner-title{font-size:2rem}.banner-description{font-size:1rem}.merchandise-hero-content h1{font-size:2rem}.merchandise-hero-content p{font-size:1rem}.featured-products,.products-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.filters-bar{align-items:stretch;flex-direction:column}.search-box{min-width:auto}.filters{flex-direction:column}.category-filter,.sort-filter{min-width:auto}.pagination{flex-direction:column;gap:.5rem}.section-title{font-size:1.5rem}}@media (max-width:480px){.store-hero{min-height:250px}.banner-carousel{height:250px}.merchandise-hero-content{height:250px;padding:2rem 1rem}.banner-overlay{padding:1rem}.banner-title{font-size:1.5rem}.banner-description{font-size:.9rem}.banner-cta{font-size:.8rem;padding:.4rem .8rem}.merchandise-hero-content h1{font-size:1.75rem}.featured-products,.products-grid{grid-template-columns:1fr}.product-card{margin:0 auto;max-width:350px}.merchandise-container{padding:0 .5rem}}.product-card{animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.products-grid.loading{opacity:.7;pointer-events:none}.product-link:focus{outline:2px solid #3b82f6;outline-offset:2px}.category-filter:focus,.search-input:focus,.sort-filter:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.product-detail-page{background-color:#f8f9fa;min-height:100vh;padding:20px 0 40px}.error-container,.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.error-container h2{color:#dc3545;margin-bottom:12px}.back-button{background-color:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin-top:20px;padding:12px 24px;transition:background-color .2s}.back-button:hover{background-color:#218838}.breadcrumb{align-items:center;color:#6c757d;display:flex;font-size:14px;gap:8px;margin-bottom:24px}.breadcrumb-link{background:none;border:none;color:#28a745;cursor:pointer;font-size:14px;text-decoration:none}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-separator{color:#adb5bd}.breadcrumb-current{color:#495057;font-weight:500}.product-detail-content{grid-gap:40px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:grid;gap:40px;grid-template-columns:1fr 1fr;padding:32px}.product-images{display:flex;flex-direction:column;gap:16px}.main-image{align-items:center;aspect-ratio:1;background-color:#f8f9fa;border-radius:12px;display:flex;justify-content:center;overflow:hidden;position:relative}.main-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.main-image:hover img{transform:scale(1.05)}.placeholder-image{border-radius:12px;font-size:16px}.image-thumbnails{display:flex;flex-wrap:wrap;gap:12px}.thumbnail{background:none;border:2px solid #0000;border-radius:8px;cursor:pointer;height:80px;overflow:hidden;padding:0;transition:border-color .2s;width:80px}.thumbnail.active{border-color:#28a745}.thumbnail img{height:100%;object-fit:cover;width:100%}.thumbnail:hover{border-color:#28a745;opacity:.8}.product-info{display:flex;flex-direction:column;gap:24px}.product-title{color:#212529;font-size:28px;font-weight:700;line-height:1.3;margin:0}.product-meta{color:#6c757d;display:flex;flex-direction:column;font-size:14px;gap:8px}.product-category,.product-sku{display:block}.product-price{margin:8px 0}.price-container{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.sale-price{font-size:32px}.original-price{font-size:20px}.discount-badge{background-color:#dc3545;border-radius:16px;color:#fff;font-size:12px;font-weight:600;padding:4px 8px}.price{font-size:32px}.stock-status{border-radius:20px;display:inline-block;font-size:14px;font-weight:600;padding:8px 16px;width:fit-content}.stock-status.in-stock{background-color:#d4edda;color:#155724}.stock-status.low-stock{background-color:#fff3cd;color:#856404}.stock-status.out-of-stock{background-color:#f8d7da;color:#721c24}.product-description h3{color:#212529;font-size:20px;font-weight:600;margin-bottom:12px}.description-content{color:#495057;line-height:1.6}.product-variants{gap:16px}.product-variants,.variant-group{display:flex;flex-direction:column}.variant-group{gap:8px}.variant-label{color:#212529;font-size:16px;font-weight:600}.variant-options{display:flex;flex-wrap:wrap;gap:8px}.variant-option{background-color:#fff;border:2px solid #dee2e6;border-radius:8px;cursor:pointer;font-weight:500;min-width:50px;padding:10px 16px;text-align:center;transition:all .2s}.variant-option:hover{background-color:#f8f9fa;border-color:#28a745}.variant-option.selected{background-color:#28a745;border-color:#28a745;color:#fff}.quantity-section{display:flex;flex-direction:column;gap:8px}.quantity-label{color:#212529;font-size:16px;font-weight:600}.quantity-btn{background-color:#fff;border:2px solid #dee2e6;border-radius:8px;font-size:20px;height:40px;width:40px}.quantity-btn:hover:not(:disabled){background-color:#f8f9fa;border-color:#28a745}.quantity-input{border:2px solid #dee2e6;border-radius:8px;font-size:16px;font-weight:600;height:40px;text-align:center;width:80px}.quantity-input:focus{border-color:#28a745;outline:none}.availability-text{color:#6c757d;font-size:14px}.product-actions{display:flex;flex-wrap:wrap;gap:16px}.add-to-cart-btn,.buy-now-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;flex:1 1;font-size:16px;font-weight:600;gap:8px;justify-content:center;min-width:200px;padding:16px 24px;transition:all .2s}.add-to-cart-btn{background-color:#28a745;color:#fff}.add-to-cart-btn:hover:not(:disabled){background-color:#218838}.buy-now-btn{background-color:#ffc107;color:#212529}.buy-now-btn:hover:not(:disabled){background-color:#e0a800}.add-to-cart-btn:disabled,.buy-now-btn:disabled{cursor:not-allowed;opacity:.5}.auth-required{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:16px;padding:16px}.auth-required p{color:#856404;font-size:14px;margin:0 0 12px}.login-prompt-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:background-color .2s}.login-prompt-btn:hover{background-color:#218838}.product-features h3,.shipping-info h3{color:#212529;font-size:18px;font-weight:600;margin-bottom:12px}.features-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.features-list li,.shipping-info p{color:#495057;line-height:1.5}.shipping-info p{margin:8px 0}@media (max-width:768px){.product-detail-content{gap:24px;grid-template-columns:1fr;padding:20px}.product-title{font-size:24px}.price,.sale-price{font-size:28px}.original-price{font-size:18px}.product-actions{flex-direction:column}.add-to-cart-btn,.buy-now-btn{min-width:auto}.quantity-controls{justify-content:flex-start}.image-thumbnails{justify-content:center}}@media (max-width:480px){.container{padding:0 16px}.product-detail-content{padding:16px}.variant-options{gap:6px}.variant-option{font-size:14px;padding:8px 12px}}.cart-page{background-color:#f8f9fa;min-height:100vh;padding:20px 0 40px}.auth-required{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:60px 20px;text-align:center}.auth-required h2{color:#212529;margin-bottom:12px}.auth-required p{color:#6c757d;margin-bottom:24px}.login-btn{background-color:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:background-color .2s}.login-btn:hover{background-color:#218838}.cart-header{align-items:center;border-bottom:2px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.cart-header h1{color:#212529;font-size:28px;font-weight:700;margin:0}.clear-cart-btn{background-color:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:background-color .2s}.clear-cart-btn:hover:not(:disabled){background-color:#c82333}.clear-cart-btn:disabled{cursor:not-allowed;opacity:.5}.empty-cart{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:80px 20px;text-align:center}.empty-cart-icon{font-size:64px;margin-bottom:24px}.empty-cart h2{color:#212529;font-size:24px;margin-bottom:12px}.empty-cart p{color:#6c757d;font-size:16px;margin-bottom:32px}.continue-shopping-btn{background-color:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:12px;padding:14px 28px;transition:background-color .2s}.continue-shopping-btn:hover{background-color:#218838}.cart-content{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 400px}.cart-items{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.items-header h2{border-bottom:1px solid #dee2e6;color:#212529;font-size:20px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.items-list{gap:20px}.cart-item{grid-gap:16px;border:1px solid #dee2e6;border-radius:8px;display:grid;gap:16px;grid-template-columns:100px 1fr auto;padding:16px;transition:box-shadow .2s}.cart-item:hover{box-shadow:0 2px 8px #0000001a}.item-image{align-items:center;background-color:#f8f9fa;border-radius:8px;display:flex;height:100px;justify-content:center;width:100px}.placeholder-image{background-color:#e9ecef;color:#6c757d;font-size:12px}.item-details{display:flex;flex-direction:column;gap:8px}.item-name{color:#212529;font-size:16px;font-weight:600;line-height:1.3;margin:0}.item-meta{color:#6c757d;display:flex;flex-direction:column;font-size:14px;gap:4px}.item-variants{display:flex;flex-wrap:wrap;gap:8px}.variant-tag{font-weight:500;padding:4px 8px}.item-price{align-items:center;display:flex;gap:8px;margin:4px 0}.sale-price{color:#28a745;font-size:18px;font-weight:700}.original-price{color:#6c757d;font-size:14px;text-decoration:line-through}.price{color:#28a745;font-size:18px;font-weight:700}.stock-info{font-size:12px}.in-stock{color:#28a745}.out-of-stock{color:#dc3545}.item-actions{flex-direction:column;min-width:120px}.item-actions,.quantity-controls{align-items:center;display:flex;gap:12px}.quantity-controls{border:1px solid #dee2e6;border-radius:6px;padding:4px}.quantity-btn{align-items:center;background-color:#f8f9fa;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:18px;font-weight:600;height:32px;justify-content:center;transition:all .2s;width:32px}.quantity-btn:hover:not(:disabled){background-color:#e9ecef}.quantity-btn:disabled{cursor:not-allowed;opacity:.5}.quantity{font-weight:600;min-width:32px}.item-total,.quantity{color:#212529;font-size:16px;text-align:center}.item-total{font-weight:700}.remove-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:16px;padding:8px;transition:background-color .2s}.remove-btn:hover:not(:disabled){background-color:#f8d7da}.remove-btn:disabled{cursor:not-allowed;opacity:.5}.cart-summary{height:fit-content;position:sticky;top:20px}.summary-card h3{border-bottom:1px solid #dee2e6;color:#212529;font-size:20px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.summary-card h4{color:#212529;font-size:16px;font-weight:600;margin-bottom:12px}.promo-section{margin-bottom:24px}.promo-input{display:flex;gap:8px;margin-bottom:8px}.promo-input input{border:1px solid #dee2e6;border-radius:6px;flex:1 1;font-size:14px;padding:10px 12px}.promo-input input:focus{border-color:#28a745;outline:none}.apply-promo-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:10px 16px;transition:background-color .2s}.apply-promo-btn:hover:not(:disabled){background-color:#218838}.apply-promo-btn:disabled{cursor:not-allowed;opacity:.7}.applied-promo{color:#28a745;font-size:12px;font-weight:500}.checkout-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.checkout-btn{background-color:#ffc107;border:none;border-radius:8px;color:#212529;cursor:pointer;font-size:16px;font-weight:700;padding:14px 20px;text-align:center;transition:all .2s}.checkout-btn:hover:not(:disabled){background-color:#e0a800;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.checkout-btn:disabled{cursor:not-allowed;opacity:.5}.shipping-info ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.shipping-info li{color:#495057;font-size:14px;line-height:1.5}@media (max-width:768px){.cart-content{gap:24px;grid-template-columns:1fr}.cart-header{align-items:flex-start;flex-direction:column;gap:16px}.cart-item{gap:12px;grid-template-columns:80px 1fr;grid-template-rows:auto auto}.item-image{height:80px;width:80px}.item-actions{align-items:center;flex-direction:row;grid-column:1/-1;justify-content:space-between;min-width:auto}.cart-summary{position:static}}@media (max-width:480px){.container{padding:0 16px}.cart-items,.summary-card{padding:16px}.cart-item{padding:12px}.item-image{height:64px;width:64px}.promo-input{flex-direction:column}.apply-promo-btn,.promo-input input{width:100%}}.shipping-page{background-color:#f8f9fa;min-height:100vh;padding:20px 0 40px}.container{margin:0 auto;max-width:1200px;padding:0 20px}.loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#28a745;height:40px;margin-bottom:16px;width:40px}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:20px;padding:12px 16px;text-align:center}.shipping-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.shipping-header h1{color:#212529;font-size:28px;font-weight:700;margin:0 0 16px}.step-indicator{display:flex;flex-wrap:wrap;gap:20px}.step{border-radius:20px;font-size:14px;font-weight:500;padding:8px 16px;position:relative}.step.completed{background-color:#28a745;color:#fff}.step.current{background-color:#ffc107;color:#212529}.step:not(.completed):not(.current){background-color:#e9ecef;color:#6c757d}.shipping-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 350px}.shipping-methods-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.shipping-methods-section h2{color:#212529;font-size:20px;font-weight:600;margin-bottom:20px}.shipping-methods{display:flex;flex-direction:column;gap:12px}.shipping-method{border:2px solid #dee2e6;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.shipping-method:hover{background-color:#f8f9fa;border-color:#28a745}.shipping-method.selected{background-color:#d4edda;border-color:#28a745}.method-info{width:100%}.method-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.method-header h3{color:#212529;font-size:18px;font-weight:600;margin:0}.method-cost{color:#28a745;font-size:16px;font-weight:700}.method-info p{color:#6c757d;font-size:14px;margin:0}.pickup-locations-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.pickup-locations-section h2{color:#212529;font-size:20px;font-weight:600;margin-bottom:20px}.pickup-locations{display:flex;flex-direction:column;gap:12px}.pickup-location{border:2px solid #dee2e6;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.pickup-location:hover{background-color:#f8f9fa;border-color:#28a745}.pickup-location.selected{background-color:#d4edda;border-color:#28a745}.location-info h3{color:#212529;font-size:16px;font-weight:600;margin:0 0 8px}.location-address{color:#495057;font-size:14px;margin:0 0 8px}.location-phone{color:#6c757d;font-size:14px;margin:0 0 8px}.location-description{color:#6c757d;font-size:12px;font-style:italic;margin:0}.delivery-addresses-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h2{color:#212529;font-size:20px;font-weight:600;margin:0}.add-address-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:background-color .2s}.add-address-btn:hover{background-color:#218838}.delivery-addresses{display:flex;flex-direction:column;gap:12px}.delivery-address{border:2px solid #dee2e6;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s}.delivery-address:hover{background-color:#f8f9fa;border-color:#28a745}.delivery-address.selected{background-color:#d4edda;border-color:#28a745}.address-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.address-header h3{color:#212529;font-size:16px;font-weight:600;margin:0}.default-badge{background-color:#ffc107;border-radius:12px;color:#212529;font-size:12px;font-weight:500;padding:2px 8px}.address-phone{color:#6c757d;font-size:14px;margin:0 0 8px}.address-text{color:#495057;font-size:14px;line-height:1.4;margin:0}.address-form-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.address-form-container{background:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:24px;width:100%}.address-form-container h3{color:#212529;font-size:20px;font-weight:600;margin:0 0 20px}.address-form{gap:16px}.address-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px}.checkbox-label input{margin:0;width:auto}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.cancel-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.cancel-btn{background-color:#6c757d;color:#fff}.cancel-btn:hover{background-color:#5a6268}.save-btn{background-color:#28a745;color:#fff}.save-btn:hover{background-color:#218838}.order-summary-section{height:fit-content}.order-summary{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.order-summary h2{border-bottom:1px solid #dee2e6;color:#212529;font-size:20px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.summary-details{margin-bottom:24px}.summary-actions,.summary-details{display:flex;flex-direction:column;gap:12px}.back-btn,.continue-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 20px;text-align:center;transition:all .2s}.continue-btn{background-color:#ffc107;color:#212529}.continue-btn:hover:not(:disabled){background-color:#e0a800;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.continue-btn:disabled{cursor:not-allowed;opacity:.5}.back-btn{background-color:#6c757d;color:#fff}.back-btn:hover{background-color:#5a6268}@media (max-width:768px){.shipping-content{gap:16px;grid-template-columns:1fr}.order-summary-section{order:-1;position:static}.step-indicator{gap:10px}.step{font-size:12px;padding:6px 12px}.form-row{grid-template-columns:1fr}.address-form-overlay{padding:10px}.address-form-container{padding:16px}}@media (max-width:480px){.container{padding:0 16px}.delivery-addresses-section,.order-summary,.pickup-locations-section,.shipping-header,.shipping-methods-section{padding:16px}.section-header{align-items:flex-start;gap:12px}.form-actions,.section-header{flex-direction:column}.cancel-btn,.save-btn{width:100%}}.order-payment-page{background-color:#f8f9fa;min-height:100vh;padding:20px 0 40px}.order-payment-container{margin:0 auto;max-width:1200px;padding:0 20px}.order-payment-loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.order-payment-loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#28a745;height:40px;margin-bottom:16px;width:40px}.order-payment-error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:20px;padding:12px 16px;text-align:center}.order-payment-error-container{padding:60px 20px;text-align:center}.order-payment-error-container h2{color:#dc3545;margin-bottom:16px}.order-payment-error-container .back-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-block;margin-top:20px;padding:12px 24px;text-decoration:none}.order-payment-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.order-payment-header h1{color:#212529;font-size:28px;font-weight:700;margin:0 0 16px}.order-payment-step-indicator{display:flex;flex-wrap:wrap;gap:20px}.order-payment-step{border-radius:20px;font-size:14px;font-weight:500;padding:8px 16px}.order-payment-step.completed{background-color:#28a745;color:#fff}.order-payment-step.current{background-color:#ffc107;color:#212529}.order-payment-step:not(.completed):not(.current){background-color:#e9ecef;color:#6c757d}.order-payment-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:350px 1fr;margin-bottom:24px}.order-summary-section{height:-webkit-fill-available;position:sticky;top:20px}.summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:-webkit-fill-available;padding:24px}.summary-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.summary-header h2{color:#212529;font-size:20px;font-weight:600;margin:0}.order-number{background-color:#e9ecef;border-radius:16px;color:#495057;font-size:14px;font-weight:500;padding:4px 12px}.order-info{border-bottom:1px solid #dee2e6;margin-bottom:20px;padding-bottom:16px}.info-row{display:flex;font-size:14px;justify-content:space-between;margin-bottom:8px}.info-row span:first-child{color:#6c757d}.info-row span:last-child{color:#212529;font-weight:500}.order-payment-status{border-radius:12px;font-size:12px;font-weight:500;padding:2px 8px}.order-payment-status.pending_payment{background-color:#fff3cd;color:#856404}.order-payment-status.paid{background-color:#d4edda;color:#155724}.order-payment-status.processing{background-color:#cce5ff;color:#004085}.order-payment-status.shipped{background-color:#e2e3e5;color:#383d41}.order-payment-status.delivered{background-color:#d1ecf1;color:#0c5460}.order-payment-status.cancelled{background-color:#f8d7da;color:#721c24}.order-payment-status.refunded{background-color:#ffeaa7;color:#6c757d}.summary-details{border-bottom:1px solid #dee2e6;margin-bottom:20px;padding-bottom:16px}.summary-row{align-items:center;font-size:14px;margin-bottom:8px}.summary-row span:first-child{color:#6c757d}.summary-row span:last-child{color:#212529;font-weight:600}.discount-row span:last-child{color:#28a745}.total-row{border-top:1px solid #dee2e6;font-size:16px;font-weight:700;margin-top:12px;padding-top:12px}.total-row span{color:#212529}.shipping-info{margin-top:20px}.shipping-info h3{color:#212529;font-size:16px;font-weight:600;margin-bottom:12px}.shipping-details{font-size:14px}.shipping-method{color:#495057;margin-bottom:12px}.delivery-info,.pickup-info{background-color:#f8f9fa;border-radius:6px;margin-top:8px;padding:12px}.delivery-info p,.pickup-info p{color:#495057;margin:0 0 4px}.delivery-info strong,.pickup-info strong{color:#212529}.order-payment-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.payment-form h2{color:#212529;font-size:20px;font-weight:600;margin-bottom:20px}.payment-instructions{display:flex;flex-direction:column;gap:24px}.bank-info{background-color:#f8f9fa;border-radius:8px;padding:20px}.bank-info h3{color:#212529;font-size:18px;font-weight:600;margin-bottom:16px}.bank-details{display:flex;flex-direction:column;gap:12px}.bank-row{display:flex;font-size:16px;justify-content:space-between}.bank-row .label{color:#6c757d;font-weight:500}.bank-row .value{color:#212529;font-weight:600}.bank-row.total{border-top:2px solid #dee2e6;margin-top:8px;padding-top:12px}.bank-row.total .value{color:#dc3545;font-size:18px}.upload-section{border:2px dashed #dee2e6;border-radius:8px;padding:24px;text-align:center}.upload-section h3{color:#212529;font-size:18px;font-weight:600;margin-bottom:20px}.form-group{margin-bottom:16px;text-align:left}.form-group label{color:#212529;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input{border:1px solid #dee2e6;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.form-group input:focus{border-color:#28a745;outline:none}.file-hint{color:#6c757d;font-size:12px;margin-bottom:0;margin-top:4px}.receipt-preview{margin:20px 0;text-align:center}.receipt-preview h4{color:#212529;font-size:14px;font-weight:500;margin-bottom:12px}.preview-image{border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-height:400px;max-width:300px}.upload-btn{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;margin-top:20px;padding:12px 24px;transition:background-color .2s}.upload-btn:hover:not(:disabled){background-color:#218838}.upload-btn:disabled{cursor:not-allowed;opacity:.5}.payment-status{padding:40px 20px;text-align:center}.status-card{background-color:#f8f9fa;border-radius:12px;display:inline-block;padding:32px}.status-card h2{color:#212529;font-size:20px;font-weight:600;margin-bottom:16px}.order-payment-status-badge{border-radius:24px;display:inline-block;font-size:18px;font-weight:600;margin-bottom:16px;padding:12px 24px}.order-payment-status-badge.paid{background-color:#d4edda;color:#155724}.order-payment-status-badge.processing{background-color:#cce5ff;color:#004085}.order-payment-status-badge.shipped{background-color:#e2e3e5;color:#383d41}.order-payment-status-badge.delivered{background-color:#d1ecf1;color:#0c5460}.order-payment-status-badge.cancelled{background-color:#f8d7da;color:#721c24}.order-payment-status-badge.refunded{background-color:#ffeaa7;color:#6c757d}.payment-date{color:#6c757d;font-size:14px;margin:0}.order-items-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:24px}.order-items-section h2{border-bottom:1px solid #dee2e6;color:#212529;font-size:20px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.items-list{display:flex;flex-direction:column;gap:16px}.order-item{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;display:flex;gap:16px;padding:16px}.order-item .order-payment-item-image{flex-shrink:0;height:80px;width:80px}.order-item .order-payment-item-image img{border-radius:6px;height:100%;object-fit:cover;width:100%}.order-payment-placeholder-image{align-items:center;background-color:#e9ecef;border-radius:6px;color:#6c757d;display:flex;font-size:12px;height:100%;justify-content:center;width:100%}.order-payment-item-details{flex:1 1}.order-payment-item-details h3{color:#212529;font-size:16px;font-weight:600;margin:0 0 4px}.order-payment-item-sku{color:#6c757d;font-size:12px;margin:0 0 8px}.order-payment-item-variants{display:flex;flex-wrap:wrap;gap:8px}.variant-tag{background-color:#e9ecef;border-radius:12px;color:#495057;font-size:12px;padding:2px 8px}.order-payment-item-price{text-align:right}.order-payment-quantity{color:#6c757d;font-size:14px;margin-bottom:4px}.order-payment-price{color:#212529;font-size:16px;font-weight:600}.order-payment-verification{background-color:#f8f9fa;border-radius:12px;padding:24px;text-align:center}.verification-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:24px}.verification-card h2{color:#212529;font-size:20px;font-weight:600;margin-bottom:20px}.verification-content{display:flex;flex-direction:column;gap:24px}.order-payment-verification-status{align-items:center;display:block;gap:16px;text-align:center}.status-icon{flex-shrink:0;font-size:48px}.order-payment-status-text h3{color:#212529;font-size:18px;font-weight:600;margin:0 0 8px}.order-payment-status-text p{color:#6c757d;font-size:14px;margin:0 0 8px}.processing-time{color:#28a745;font-weight:500}.uploaded-receipt{border-top:1px solid #dee2e6;padding-top:20px}.uploaded-receipt h4{color:#212529;font-size:16px;font-weight:600;margin-bottom:16px}.receipt-display{display:flex;justify-content:center;margin-bottom:16px}.uploaded-receipt-image{border:1px solid #dee2e6;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-height:400px;max-width:300px}.reference-info{display:flex;font-size:14px;gap:8px;justify-content:center}.reference-label{color:#6c757d;font-weight:500}.reference-value{color:#212529;font-weight:600}.order-payment-verification-actions{border-top:1px solid #dee2e6;padding-top:20px}.order-payment-contact-info h4{color:#212529;font-size:16px;font-weight:600;margin-bottom:12px}.order-payment-contact-info p{color:#6c757d;font-size:14px;margin:0 0 4px}@media (max-width:768px){.order-payment-content{gap:16px;grid-template-columns:1fr}.order-summary-section{order:-1;position:static}.payment-instructions{gap:20px}.bank-row{flex-direction:column;gap:4px}.bank-row .label{font-size:14px}.bank-row .value{font-size:16px}.order-item{flex-direction:column;gap:12px}.order-item .order-payment-item-image{align-self:center;height:60px;width:60px}.order-payment-item-price{text-align:left}.order-payment-step-indicator{gap:10px}.order-payment-step{font-size:12px;padding:6px 12px}.order-payment-verification-status{flex-direction:column;gap:12px;text-align:center}.status-icon{font-size:40px}.uploaded-receipt-image{max-height:300px;max-width:100%}}@media (max-width:480px){.order-payment-container{padding:0 16px}.bank-info,.order-items-section,.order-payment-header,.order-payment-section,.summary-card,.upload-section{padding:16px}.preview-image{max-height:300px;max-width:100%}}.bank-loading{align-items:center;background-color:#f8f9fa;border-radius:8px;color:#6c757d;display:flex;font-style:italic;justify-content:center;padding:20px}.bank-loading:before{animation:spin 1s linear infinite;border:2px solid #e9ecef;border-radius:50%;border-top-color:#28a745;content:"";height:16px;margin-right:8px;width:16px}.bank-error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;padding:16px}.bank-error .error-message{display:block;font-weight:500;margin-bottom:12px}.bank-error .retry-button,.bank-fallback .retry-button{background-color:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .2s ease}.bank-error .retry-button:hover,.bank-fallback .retry-button:hover{background-color:#c82333}.bank-error .retry-button:disabled{background-color:#6c757d;cursor:not-allowed}.bank-fallback{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404;padding:20px;text-align:center}.bank-fallback .fallback-message{display:block;font-weight:500;margin-bottom:12px}.bank-details .bank-row{transition:background-color .2s ease}.bank-details .bank-row:hover{background-color:#f8f9fa}.bank-details .bank-row .value{color:#28a745;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600}.bank-details .bank-row.total .value{color:#dc3545;font-size:1.1em;font-weight:700}.promptpay-qr-section{background:linear-gradient(135deg,#f8f9ff,#e8f4f8);border:2px solid #e3f2fd;border-radius:12px;margin-top:24px;padding:20px;text-align:center}.promptpay-qr-section h4{color:#1976d2;font-size:1.1em;font-weight:600;margin:0 0 16px}.qr-code-container,.qr-loading{align-items:center;display:flex;flex-direction:column}.qr-loading{color:#6c757d;padding:40px 20px}.qr-loading-spinner{animation:spin 1s linear infinite;border:3px solid #e9ecef;border-radius:50%;border-top-color:#1976d2;height:32px;margin-bottom:12px;width:32px}.qr-code-display{align-items:center;display:flex;flex-direction:column}.qr-code-image{background:#fff;border:3px solid #fff;border-radius:12px;box-shadow:0 4px 12px #00000026;height:250px;margin-bottom:16px;width:250px}.qr-code-instructions{margin-bottom:16px;max-width:300px}.qr-code-instructions p{color:#4a5568;font-size:.9em;line-height:1.4;margin:8px 0}.download-qr-btn{background:linear-gradient(135deg,#1976d2,#1565c0);border:none;border-radius:8px;box-shadow:0 2px 4px #1976d24d;color:#fff;cursor:pointer;font-size:.9em;font-weight:500;padding:10px 20px;transition:all .2s ease}.download-qr-btn:hover{background:linear-gradient(135deg,#1565c0,#0d47a1);box-shadow:0 4px 8px #1976d266;transform:translateY(-1px)}.download-qr-btn:active{transform:translateY(0)}.qr-error{background-color:#ffebee;border:1px solid #ffcdd2;border-radius:8px;color:#d32f2f;font-weight:500;padding:20px}@media (max-width:768px){.qr-code-image{height:200px;width:200px}.promptpay-qr-section{margin:16px 0;padding:16px}.qr-code-instructions{max-width:280px}.qr-code-instructions p{font-size:.85em}}.order-history-page{background-color:#f8fafc;min-height:100vh;padding:2rem 0}.order-history-page .container{margin:0 auto;max-width:1200px;padding:0 1rem}.order-history-page .page-header{border-bottom:2px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.order-history-page .page-header h1{color:#1f2937;font-size:2.25rem;font-weight:700;margin:0 0 .5rem}.order-history-page .page-header p{color:#6b7280;font-size:1.125rem;margin:0}.order-history-page .loading-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.order-history-page .loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:40px;margin-bottom:1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.order-history-page .error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:2rem;padding:1rem;text-align:center}.order-history-page .empty-state{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:4rem 2rem;text-align:center}.order-history-page .empty-icon{font-size:4rem;margin-bottom:1.5rem}.order-history-page .empty-state h3{color:#374151;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.order-history-page .empty-state p{color:#6b7280;margin:0 0 2rem}.order-history-page .shop-now-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;padding:.875rem 2rem;text-decoration:none;transition:all .2s ease}.order-history-page .shop-now-btn:hover{box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.orders-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.order-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;transition:box-shadow .2s ease}.order-card:hover{box-shadow:0 4px 12px #00000026}.order-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:1.5rem 1.5rem 1rem}.order-info h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.order-date{color:#6b7280;font-size:.875rem;margin:0}.order-status{flex-shrink:0}.status-badge{border-radius:6px;font-size:.875rem;font-weight:500;letter-spacing:.025em;padding:.375rem .75rem;text-transform:uppercase}.status-pending{background-color:#fef3c7;color:#d97706}.status-paid{background-color:#d1fae5;color:#065f46}.status-processing{background-color:#dbeafe;color:#1e40af}.status-shipped{background-color:#e0e7ff;color:#5b21b6}.status-delivered{background-color:#d1fae5;color:#047857}.status-cancelled{background-color:#fee2e2;color:#dc2626}.status-refunded{background-color:#f3f4f6;color:#6b7280}.status-verifying{background-color:#e0f2fe;color:#0277bd}.order-content{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr auto;padding:1rem 1.5rem}.order-items h4{color:#374151;font-size:1rem;font-weight:600;margin:0 0 1rem}.items-preview{display:flex;flex-direction:column;gap:.75rem}.item-preview{align-items:center;display:flex;gap:.75rem}.item-image{background-color:#f3f4f6;border-radius:6px;flex-shrink:0;height:50px;overflow:hidden;width:50px}.item-image img{height:100%;object-fit:cover;width:100%}.placeholder-image{align-items:center;color:#9ca3af;display:flex;font-size:.75rem;height:100%;justify-content:center;width:100%}.item-details{flex:1 1;min-width:0}.item-name{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-quantity{color:#6b7280;font-size:.75rem}.more-items{background-color:#f9fafb;border-radius:6px;color:#6b7280;font-size:.875rem;font-style:italic;padding:.5rem;text-align:center}.order-summary{min-width:200px;text-align:right}.summary-row{display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:.5rem}.summary-row:last-child{margin-bottom:0}.summary-row span:first-child{color:#6b7280;margin-right:1rem}.total-amount{color:#1f2937;font-size:1.125rem;font-weight:700}.order-actions{background-color:#f9fafb;border-top:1px solid #f3f4f6;display:flex;gap:1rem;padding:1rem 1.5rem}.pay-now-btn,.view-details-btn{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.25rem;text-decoration:none;transition:all .2s ease}.view-details-btn{background-color:#f3f4f6;border:1px solid #d1d5db;color:#374151}.view-details-btn:hover{background-color:#e5e7eb;border-color:#9ca3af}.pay-now-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.pay-now-btn:hover{box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.pagination{align-items:center;display:flex;gap:1.5rem;justify-content:center;margin-top:2rem;padding:2rem 0}.pagination-btn{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.pagination-btn:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#6b7280;font-size:.875rem;text-align:center}.pagination-info small{color:#9ca3af;font-size:.75rem}@media (max-width:768px){.order-history-page{padding:1rem 0}.page-header h1{font-size:1.875rem}.order-header{align-items:flex-start;flex-direction:column;gap:1rem}.order-content{gap:1.5rem;grid-template-columns:1fr}.order-summary{min-width:auto;text-align:left}.summary-row{justify-content:space-between}.order-actions{flex-direction:column}.pay-now-btn,.view-details-btn{text-align:center;width:100%}}@media (max-width:480px){.order-history-page .container{padding:0 .75rem}.order-card{margin:0 -.25rem}.order-actions,.order-content,.order-header{padding-left:1rem;padding-right:1rem}.item-preview{align-items:flex-start;flex-direction:column;gap:.5rem}.item-image{align-self:center}.pagination{flex-direction:column;gap:1rem}}
/*# sourceMappingURL=main.ff8ab6ba.css.map*/