@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--fcn-green: #008C44;--fcn-green-dark: #01522D;--fcn-green-light: #00A651;--fcn-yellow: #D1B054;--fcn-yellow-dark: #B99942;--fcn-yellow-light: #E8C86A;--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-card-hover: #f1f5f9;--bg-input: #ffffff;--bg-elevated: #ffffff;--border: #e2e8f0;--border-light: #f1f5f9;--border-accent: rgba(0, 140, 68, .2);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--success: #10B981;--error: #EF4444;--warning: #F59E0B;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .025);--shadow-glow-green: 0 0 20px rgba(0, 140, 68, .1);--shadow-glow-yellow: 0 0 20px rgba(209, 176, 84, .15);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}*{margin:0;padding:0;box-sizing:border-box}html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background-color:var(--bg-primary);background-image:radial-gradient(circle at top right,rgba(0,140,68,.03) 0%,transparent 40%),radial-gradient(circle at bottom left,rgba(209,176,84,.03) 0%,transparent 40%);pointer-events:none;z-index:0}#root{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.header{background:#fffffff2;border-bottom:1px solid var(--border);padding:0 2rem;height:80px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.header-left{display:flex;align-items:center;gap:1rem}.header-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.header-logo-icon{width:44px;height:44px;background:linear-gradient(135deg,var(--fcn-green),var(--fcn-yellow));border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;color:var(--bg-primary);flex-shrink:0;box-shadow:0 0 20px #00a65140}.header-title{font-size:1.3rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}.header-title span{color:var(--fcn-yellow)}.header-subtitle{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.header-mobile-toggle{display:none;cursor:pointer;color:var(--fcn-green);z-index:200;padding:.5rem;border-radius:var(--radius-sm);transition:background .2s}.header-mobile-toggle:hover{background:var(--bg-primary)}.header-nav.desktop-only{display:flex!important}.header-nav.mobile-only{display:none!important}.header-nav.desktop-only .header-nav__links{display:flex!important;align-items:center;gap:.4rem}@media(max-width:768px){.header-nav.desktop-only{display:none!important}.header-nav.mobile-only{display:flex!important}}.header-nav a{color:var(--text-secondary);text-decoration:none;padding:.55rem 1.1rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem}.header-nav a:hover{color:var(--fcn-green-dark);background:#008c440d}.header-nav a.active{color:var(--fcn-green-dark);background:#008c441a;font-weight:700}.header-user-dropdown-container{position:relative}.header-user-avatar{width:40px;height:40px;border-radius:50%;background:var(--fcn-yellow-light);color:var(--fcn-green-dark);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s}.header-user-avatar:hover{border-color:var(--fcn-yellow);box-shadow:var(--shadow-sm);transform:scale(1.05)}.avatar-notify-dot{position:absolute;top:-4px;right:-6px;min-width:20px;height:20px;background-color:#ef4444;color:#fff;border:2px solid white;border-radius:10px;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none;z-index:10}.dropdown-notify-badge{min-width:20px;height:20px;background-color:#ef4444;color:#fff;border-radius:10px;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 6px;margin-left:auto}.header-user-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:240px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;animation:dropdownFade .2s ease-out;z-index:1000}@keyframes dropdownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-user-info{padding:.75rem 1rem}.dropdown-user-name{font-weight:700;color:var(--text-primary);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-email{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--border-light);margin:.5rem 0}.dropdown-item{display:flex;align-items:center;gap:10px;padding:.7rem 1rem;color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);transition:all .2s;width:100%;text-align:left;border:none;background:none;cursor:pointer}.dropdown-item:hover{background:var(--bg-primary);color:var(--fcn-green-dark)}.dropdown-item--logout:hover{background:#fee2e2;color:#ef4444}.mobile-user-header{display:flex;align-items:center;gap:12px;padding:1rem 0}.mobile-user-info{display:flex;flex-direction:column}.mobile-user-name{font-weight:700;color:var(--text-primary);font-size:1rem}.mobile-user-email{font-size:.8rem;color:var(--text-muted)}.btn{padding:.7rem 1.4rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:600;cursor:pointer;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;text-decoration:none;position:relative;overflow:hidden}.btn-primary{background:var(--fcn-green-dark);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--fcn-green)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:#cbd5e1;transform:translateY(-1px)}.btn-yellow{background:var(--fcn-yellow);color:#fff;font-weight:600;box-shadow:var(--shadow-sm)}.btn-yellow:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--fcn-yellow-dark)}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.5rem .85rem}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-card-hover)}.btn-danger{background:#fff;color:var(--error);border:1px solid #fca5a5}.btn-danger:hover{background:#fef2f2;border-color:var(--error);transform:translateY(-1px)}.btn-sm{padding:.45rem .95rem;font-size:.82rem}.btn-lg{padding:.95rem 2rem;font-size:1rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.78rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.06em}.form-input,.form-select,.form-textarea{width:100%;padding:.8rem 1.1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--fcn-green-dark);box-shadow:0 0 0 3px #01522d1a}.form-input::placeholder{color:var(--text-muted)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-textarea{resize:vertical;min-height:80px}.form-error{color:var(--error);font-size:.78rem;margin-top:.35rem}.form-hint{color:var(--text-muted);font-size:.78rem;margin-top:.35rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.modal-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:var(--radius-lg);width:92%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideUp .35s cubic-bezier(.4,0,.2,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.modal-title{font-size:1.15rem;font-weight:800}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:.25rem;transition:all .2s;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary);background:#0000000d}.modal-body{padding:1.5rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:.5rem}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.tab{flex:1;padding:.8rem;background:none;border:none;color:var(--text-muted);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .25s;border-bottom:2px solid transparent;font-family:inherit}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--fcn-yellow);border-bottom-color:var(--fcn-yellow)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{border-color:#cbd5e1;box-shadow:var(--shadow-md)}.card-body{padding:1.25rem}.ticket-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .35s cubic-bezier(.4,0,.2,1);position:relative}.ticket-card:hover{border-color:var(--fcn-green-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ticket-card-header{padding:1.1rem 1.25rem;background:#f8fafc;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.ticket-card-tribune{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--fcn-green)}.ticket-card-price{font-size:1.35rem;font-weight:900;color:var(--fcn-yellow);text-shadow:0 0 20px rgba(255,237,0,.15)}.ticket-card-body{padding:1.25rem}.ticket-card-details{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}.ticket-detail{text-align:center}.ticket-detail-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.ticket-detail-value{font-size:.95rem;font-weight:700}.ticket-card-contact{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border)}.contact-item{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--text-secondary);word-break:break-all}.contact-icon{font-size:1rem;width:24px;text-align:center;flex-shrink:0}.ticket-card-actions{padding:1rem 1.25rem;border-top:1px solid var(--border);display:flex;gap:.5rem}.ticket-card-actions .btn{flex:1}.ticket-list{display:flex;flex-direction:column;gap:.5rem}.ticket-row{display:flex;align-items:center;gap:1rem;padding:.9rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.ticket-row:hover{border-color:var(--fcn-green-dark);background:var(--bg-card-hover);box-shadow:var(--shadow-md);transform:translate(4px)}.ticket-row__tribune{flex-shrink:0}.ticket-row__tribune-label{display:inline-block;padding:.3rem .7rem;background:#008c4414;border:1px solid rgba(0,140,68,.2);border-radius:6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fcn-green-dark);white-space:nowrap}.ticket-row__details{flex:1;min-width:0}.ticket-row__seat{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.ticket-row__tag{display:inline-block;padding:.18rem .55rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:5px;font-size:.75rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.ticket-row__match{font-size:.72rem;color:var(--text-muted);margin-top:.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-row__prices{flex-shrink:0;text-align:right;min-width:80px}.ticket-row__price-sell{display:block;font-size:1.2rem;font-weight:900;color:var(--fcn-green-dark)}.ticket-row__price-buy{display:block;font-size:.68rem;color:var(--text-muted);margin-top:.15rem}.ticket-row__actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.ticket-row__action-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:1.05rem;cursor:pointer;transition:all .25s;text-decoration:none}.ticket-row__action-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:scale(1.1);box-shadow:var(--shadow-sm);color:var(--fcn-green-dark)}.ticket-row__no-contact{font-size:.72rem;color:var(--text-muted);font-style:italic}.ticket-row__revealed{display:flex;align-items:center;gap:1.5rem;padding:.65rem 1.25rem;background:#00a6510a;border:1px solid rgba(0,166,81,.12);border-radius:var(--radius-sm);margin-top:-.25rem;animation:fadeIn .3s ease}.ticket-row__revealed-item{color:var(--fcn-green);font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s}.ticket-row__revealed-item:hover{color:var(--fcn-green-light)}.page-container{max-width:1440px;margin:0 auto;padding:2.5rem 2rem;width:100%}@media(max-width:640px){.page-container{padding:1.5rem 1rem}}.page-title{font-size:2rem;font-weight:900;margin-bottom:.5rem;letter-spacing:-.03em;color:var(--text-primary)}.page-subtitle{color:var(--text-secondary);font-size:.95rem;margin-bottom:2.5rem;max-width:480px}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.section-title .icon{font-size:1.2rem}.match-selector-wrapper{margin-bottom:2rem}.match-selector-bar{position:relative;display:flex;align-items:center;gap:1.5rem;padding:1.3rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .3s;overflow:hidden}.match-selector-bar:hover{border-color:var(--fcn-green-dark);box-shadow:var(--shadow-md);transform:translateY(-2px)}.match-selector-bar:focus-within{border-color:var(--fcn-green-dark);box-shadow:0 0 0 4px #023c291a}.match-selector-visuals{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;pointer-events:none;width:100%}.match-selector-content{display:flex;align-items:center;gap:1.5rem}.match-selector-label{font-size:.85rem;font-weight:800;color:var(--fcn-green-dark);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.match-selector-teams{display:flex;align-items:center;gap:.75rem}.team-logo{height:28px;width:28px;object-fit:contain}.team-separator{color:var(--text-muted);font-weight:400}.match-info-text{display:flex;flex-direction:column;gap:2px}.adversaire-name{font-weight:700;color:var(--text-main);font-size:1rem}.match-date-time{font-size:.82rem;color:var(--text-muted);font-weight:500}.match-select-overlay{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:10;-webkit-appearance:menulist-button!important;appearance:menulist-button!important}.match-selector-chevron{color:var(--text-muted);font-size:.75rem;opacity:.7}@media(max-width:768px){.match-selector-bar{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.25rem}.match-selector-content{flex-direction:column;align-items:flex-start;gap:.75rem;width:100%}.match-selector-label{width:100%;border-bottom:1px solid var(--border-light);padding-bottom:.5rem}.match-selector-teams{width:100%;justify-content:flex-start}.match-info-text{font-size:.9rem;white-space:normal}.match-selector-chevron{position:absolute;right:1.25rem;top:1.25rem}}.ticket-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.empty-state{grid-column:1 / -1;text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-state-icon{font-size:3.5rem;margin-bottom:1.25rem;opacity:.4}.empty-state-text{font-size:1.05rem;font-weight:600}.empty-state-sub{font-size:.85rem;margin-top:.5rem}.stadium-viewer{position:relative;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);width:100%}.stadium-viewer__header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:#f8fafc}.stadium-viewer__title{font-size:1.2rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:.6rem;letter-spacing:-.01em}.stadium-viewer__icon{font-size:1.3rem}.stadium-viewer__hint{font-size:.76rem;color:var(--text-muted);opacity:.6}.stadium-viewer__canvas{padding:1.5rem;display:flex;align-items:center;justify-content:center}.stadium-viewer__canvas svg{width:100%;height:auto}.stadium-viewer__legend{display:flex;align-items:center;justify-content:center;gap:2rem;padding:.9rem 1.5rem;border-top:1px solid var(--border);background:#f8fafc}.stadium-viewer__legend-item{display:flex;align-items:center;gap:.45rem;font-size:.73rem;color:var(--text-muted);font-weight:500}.stadium-viewer__legend-dot{width:10px;height:10px;border-radius:50%}.stadium-viewer__legend-dot--yellow{background:#ffed00;box-shadow:0 0 8px #ffed0066}.stadium-viewer__legend-dot--grey{background:#6a6a6a;box-shadow:0 0 4px #6a6a6a4d}.stadium-viewer__legend-dot--green{background:#00a651;box-shadow:0 0 8px #00a65166}.stadium-viewer__legend-dot--red{background:#e74c3c;box-shadow:0 0 8px #e74c3c66}.stadium-viewer__tooltip{position:absolute;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem 1.2rem;font-size:.82rem;box-shadow:var(--shadow-md);pointer-events:none;z-index:10;min-width:190px;animation:fadeIn .15s ease}.stadium-viewer__tooltip-title{font-weight:700;color:var(--text-primary);margin-bottom:.3rem;font-size:.88rem}.stadium-viewer__tooltip-count{color:var(--text-secondary);font-size:.78rem}.sell-form-container{max-width:680px;margin:0 auto}.sell-form{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-sm)}.sell-form-title{font-size:1.4rem;font-weight:900;margin-bottom:.5rem}.sell-form-subtitle{color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem}.contact-section{background:#00a6510a;border:1px solid rgba(0,166,81,.1);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.contact-section-title{font-size:.9rem;font-weight:700;color:var(--fcn-green);margin-bottom:.25rem}.contact-section-hint{font-size:.78rem;color:var(--text-muted);margin-bottom:1rem}.my-tickets-section{margin-top:2rem}.my-ticket-item{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.5rem;box-shadow:var(--shadow-sm);transition:all .25s}.my-ticket-item:hover{border-color:#cbd5e1;background:var(--bg-card-hover)}.my-ticket-info{display:flex;align-items:center;gap:1rem}.my-ticket-match{font-weight:700;font-size:.9rem}.my-ticket-seat{color:var(--text-secondary);font-size:.82rem}.my-ticket-price{font-weight:800;color:var(--fcn-green-dark);font-size:1.05rem}.my-ticket-main{flex:1;display:flex;flex-direction:column;gap:.5rem}.my-ticket-header{display:flex;justify-content:space-between;align-items:center}.my-ticket-content{display:flex;justify-content:space-between;align-items:flex-end}.my-ticket-date{font-size:.75rem;color:var(--text-muted);margin-top:2px}.my-ticket-actions{display:flex;align-items:center;gap:.75rem;margin-left:1.5rem}.my-ticket-actions-group{display:flex;gap:.5rem}@media(max-width:640px){.my-ticket-item{flex-direction:column;align-items:stretch;gap:1.25rem;padding:1.25rem}.my-ticket-header{margin-bottom:2px}.my-ticket-match{font-size:.95rem}.my-ticket-price{font-size:1.15rem}.my-ticket-content{align-items:flex-start}.my-ticket-actions{margin-left:0;padding-top:1rem;border-top:1px solid var(--border-light);width:100%;justify-content:space-between}}.status-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}.status-badge.available{background:#10b98114;color:var(--success);border:1px solid rgba(16,185,129,.15)}.status-badge.sold{background:#ef444414;color:var(--error);border:1px solid rgba(239,68,68,.15)}.alert{padding:.9rem 1.1rem;border-radius:var(--radius-sm);font-size:.85rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.alert-success{background:#10b98114;color:var(--success);border:1px solid rgba(16,185,129,.15)}.alert-error{background:#ef444414;color:var(--error);border:1px solid rgba(239,68,68,.15)}.alert-info{background:#00a65114;color:var(--fcn-green);border:1px solid rgba(0,166,81,.15)}.user-menu{display:flex;align-items:center;gap:.75rem}.user-email{font-size:.82rem;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.12)}}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:3rem}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--fcn-green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.main-grid{grid-template-columns:1fr;gap:2rem}}.main-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}.main-grid__stadium-wrapper{position:sticky;top:104px}@media(max-width:768px){.header{padding:0 1.25rem;height:70px}.header-mobile-toggle{display:block}.header-nav.mobile-only{position:fixed;inset:70px 0 0;background:#fffffffa;display:flex;flex-direction:column;padding:0;align-items:stretch;transform:translate(100%);visibility:hidden;transition:transform .3s cubic-bezier(.4,0,.2,1),visibility .3s;z-index:150;border-top:1px solid var(--border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow-y:auto}.header-nav.mobile-only.open{transform:translate(0);visibility:visible}.header-nav.mobile-only .header-nav__links{padding:2.5rem 1.5rem 2rem;display:flex;flex-direction:column;gap:1rem;flex:1}.header-nav__footer{display:block;padding:1.5rem;background:#fff;border-top:1px solid var(--border);margin-top:auto;box-shadow:0 -10px 20px #0000000d}.header-nav a{width:100%;font-size:1.15rem;padding:1rem 1.25rem;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;align-items:center;gap:12px}.header-right{display:flex;align-items:center;gap:.75rem;margin-left:auto;margin-right:.5rem}.header-user-dropdown{right:-60px;width:260px}.main-grid{display:flex;flex-direction:column-reverse;gap:1.5rem}.main-grid__stadium-wrapper{position:static;margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem)}.ticket-row{padding:.65rem 1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.ticket-row__match-text{display:none}.ticket-row__prices{margin-left:auto;display:flex;align-items:center;flex-shrink:0}.ticket-row__actions{margin-left:.5rem;display:flex;align-items:center;flex-shrink:0}}@media(max-width:480px){.header-nav a{padding:.45rem .65rem;font-size:.78rem}.stadium-viewer__title{font-size:.95rem}.stadium-viewer__legend-item{font-size:.65rem}.page-title{font-size:1.2rem}.page-subtitle{font-size:.85rem}.ticket-card-price{font-size:1.15rem}.btn{padding:.6rem 1rem;font-size:.82rem}.hidden-xs{display:none!important}}.messages-layout{display:flex;height:calc(100vh - 200px);min-height:500px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;margin-top:1rem}.messages-list{width:320px;border-right:1px solid var(--border);display:flex;flex-direction:column;background:#f8fafc;overflow-y:auto}.messages-list__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;color:var(--text-muted)}.conv-item{padding:1.25rem;border-bottom:1px solid var(--border);display:flex;gap:1rem;cursor:pointer;transition:all .2s;position:relative}.conv-item:hover,.conv-item--active{background:var(--bg-card-hover)}.conv-item--active{border-left:3px solid var(--fcn-yellow)}.conv-item__avatar{background:var(--border);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.conv-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.conv-item__top{display:flex;justify-content:space-between;align-items:center}.conv-item__name{font-weight:700;font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item__time{font-size:.75rem;color:var(--text-muted)}.conv-item__subtitle{font-size:.75rem;color:var(--fcn-yellow);font-weight:600}.conv-item__preview{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item__right{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:8px}.conv-item__badge{background:#ff4757;color:#fff;font-size:.7rem;font-weight:800;padding:.15rem .4rem;border-radius:12px;box-shadow:0 2px 4px #ef444433}.conv-item--unread .conv-item__name{font-weight:700!important;color:var(--text-primary)!important}.conv-item--unread .conv-item__preview{font-weight:700!important;color:var(--fcn-green-dark)!important}.conv-item__name-badge{background:var(--fcn-green);color:#fff;font-size:.65rem;font-weight:800;min-width:18px;height:18px;padding:0 5px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;margin-left:8px;vertical-align:middle}.conv-item__delete{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:0}.conv-item:hover .conv-item__delete{opacity:1}.conv-item__delete:hover{color:var(--error);background-color:#fee2e2}@media(max-width:768px){.conv-item__delete{opacity:1}}.messages-chat{flex:1;display:flex;flex-direction:column;background:var(--bg-card)}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.chat-empty__icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.chat-empty__text{font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;text-align:center}.chat-empty__sub{text-align:center}.chat-empty--auth{padding:2.5rem 1.5rem;text-align:center}@media(max-width:640px){.chat-empty--auth{padding:4rem 2rem}}.chat-quick-bubble{background:#fff;border:1px solid var(--border);padding:1.25rem;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;max-width:90%;margin-top:1.5rem;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-md);border-bottom-left-radius:4px}.chat-quick-bubble:hover{transform:translateY(-4px) scale(1.02);border-color:var(--fcn-yellow);box-shadow:var(--shadow-lg),var(--shadow-glow-yellow)}.chat-quick-bubble__text{font-size:.95rem;font-weight:600;color:var(--text-primary);line-height:1.4}.chat-quick-bubble__icon{color:var(--fcn-yellow);flex-shrink:0}.chat-window{display:flex;flex-direction:column;height:100%}.chat-window__header{padding:1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:1rem;background:#f8fafc}.chat-window__back{display:none;background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;padding:.5rem}.chat-window__name{font-weight:700;font-size:1.1rem}.chat-window__ticket{font-size:.8rem;color:var(--fcn-green-dark);font-weight:600}.chat-window__messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.chat-date-separator{text-align:center;margin:1rem 0;position:relative}.chat-date-separator span{background:var(--bg-card);padding:0 1rem;font-size:.75rem;color:var(--text-muted);position:relative;z-index:1}.chat-date-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border);z-index:0}.chat-bubble{max-width:75%;padding:.8rem 1rem;border-radius:var(--radius-md);position:relative;line-height:1.4;font-size:.95rem}.chat-bubble--mine{align-self:flex-end;background:var(--fcn-green-dark);color:#fff;border-bottom-right-radius:4px}.chat-bubble--theirs{align-self:flex-start;background:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:4px;border:1px solid var(--border)}.chat-bubble__time{font-size:.65rem;margin-top:.3rem;text-align:right;opacity:.7}.chat-bubble--mine .chat-bubble__time{opacity:.8}.chat-bubble__status{margin-left:.2rem}.chat-window__footer{border-top:1px solid var(--border);background:#f8fafc}.chat-quick-suggestions{padding:.75rem 1.5rem .25rem;display:flex;gap:.5rem;flex-wrap:wrap}.chat-quick-suggestion{background:#fff;border:1px solid var(--border);padding:.4rem .8rem;border-radius:20px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.chat-quick-suggestion:hover{border-color:var(--fcn-yellow);color:var(--text-primary);background:var(--fcn-yellow-light);transform:translateY(-1px)}.chat-window__input{padding:.75rem 1.5rem 1rem;display:flex;gap:1rem}.chat-window__textbox{flex:1;padding:.8rem 1.25rem;background:var(--bg-app);border:1px solid var(--border);border-radius:24px;color:var(--text-primary);font-size:.95rem}.chat-window__textbox:focus{outline:none;border-color:var(--fcn-yellow)}.chat-window__send{width:45px;height:45px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.header-messages-link{position:relative}.header-badge{position:absolute;top:-4px;right:-6px;background-color:#ef4444!important;color:#fff!important;border:2px solid white;border-radius:10px;font-size:.7rem;font-weight:800;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 1px 3px #0000001a;z-index:10}.ticket-row__action-btn--chat{background:var(--fcn-yellow);color:#000;border-color:var(--fcn-yellow-dark)}.ticket-row__action-btn--chat:hover{transform:translateY(-2px)}.ticket-row__action-btn--contacted{background:var(--success);color:#fff;border-color:var(--success)}.ticket-row__action-btn--contacted:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #16653433}@media(max-width:768px){.messages-layout{height:calc(100vh - 140px);border-radius:0;margin:0 -1.5rem;border-left:none;border-right:none}.messages-list{width:100%}.messages-list--hidden-mobile,.messages-chat--hidden-mobile{display:none}.chat-window__back{display:block}}.ticket-page-layout{display:flex;gap:2rem;margin-top:1rem;min-height:calc(100vh - 250px)}.ticket-side-column{width:450px;display:flex;flex-direction:column;gap:1.25rem;flex-shrink:0}.ticket-side-profile{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ticket-side-profile__avatar{width:48px;height:48px;border-radius:50%;background:var(--fcn-yellow-light);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--fcn-green-dark);font-size:1.2rem}.ticket-side-profile__info{flex:1}.ticket-side-profile__name-row{display:flex;align-items:center;gap:8px}.ticket-side-profile .seller-name{font-weight:700;font-size:1rem}.ticket-side-profile__meta{font-size:.8rem;color:var(--text-muted)}.ticket-details-panel{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:2rem;position:relative;overflow:hidden}.ticket-details-panel--sold>*:not(.ticket-sold-watermark){opacity:.4;pointer-events:none;filter:grayscale(100%)}.ticket-sold-watermark{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);font-size:5rem;font-weight:900;color:#dc2626e6;text-transform:uppercase;letter-spacing:.5rem;border:8px solid rgba(220,38,38,.9);padding:1rem 2rem;border-radius:12px;z-index:10;pointer-events:none;text-shadow:2px 2px 4px rgba(0,0,0,.5);box-shadow:0 0 20px #dc26264d,inset 0 0 20px #dc26264d}.ticket-details__header{border-bottom:1px solid var(--border);padding-bottom:1.5rem}.ticket-details__match{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem}.ticket-details__date{font-size:1rem;color:var(--text-secondary)}.ticket-details__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;background:#f8fafc;padding:1.5rem;border-radius:var(--radius-md);border:1px solid var(--border)}.ticket-details__item{display:flex;flex-direction:column;gap:.5rem}.ticket-details__label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.ticket-details__value{font-size:1.2rem;font-weight:700;color:var(--text-primary)}.ticket-details__price-box{display:flex;flex-direction:column;gap:1rem}.ticket-details__price-group{display:flex;align-items:flex-end;gap:2rem;flex-wrap:wrap}.ticket-details__price-item{display:flex;flex-direction:column}.ticket-details__price-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.2rem}.ticket-details__price-value{font-size:2.5rem;font-weight:800;color:var(--fcn-green-dark);line-height:1}.ticket-details__price-value--original{font-size:1.8rem;color:var(--text-primary)}.ticket-details__price-badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;font-size:.82rem;font-weight:600;width:fit-content}.ticket-details__price-badge--equal,.ticket-details__price-badge--below{background:#008c4414;border:1px solid rgba(0,140,68,.2);color:#008c44}.ticket-details__price-badge--above{background:#f5a6231a;border:1px solid rgba(245,166,35,.25);color:#b8860b}.ticket-details__original-price{font-size:1rem;color:var(--text-muted);text-decoration:line-through}.ticket-details__section-title{font-size:1.1rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.ticket-details__contact-grid{display:flex;flex-wrap:wrap;gap:1rem}.ticket-details__notes{background:#ffed000d;border-left:3px solid var(--fcn-yellow);padding:1.5rem;border-radius:0 var(--radius-md) var(--radius-md) 0}.ticket-chat-panel{width:100%;flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}@media(max-width:992px){.ticket-page-layout{flex-direction:column}.ticket-chat-panel{width:100%;height:500px}.ticket-side-column{width:100%;flex-shrink:1}.profile-header{padding:1.5rem!important;flex-direction:column;text-align:center;gap:1.5rem!important}}@media(max-width:640px){.ticket-details-panel{padding:1.5rem}.ticket-details__price-group{gap:1.25rem}.ticket-details__price-value{font-size:2.2rem}.ticket-details__price-value--original{font-size:1.6rem}.ticket-details__price-badge{width:100%;justify-content:center;font-size:.85rem}.sell-form{padding:1.5rem 1.25rem}.form-row{grid-template-columns:1fr;gap:0}.contact-section{padding:1.25rem}.form-input,.form-select,.form-textarea{padding:.75rem .875rem}.form-select{background-position:right .75rem center;padding-right:2.25rem}.header-custom-logo{height:40px!important}.header-title{font-size:1.1rem}.header-subtitle{font-size:.6rem;letter-spacing:.05em}.header-auth-btn{padding:0!important;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%!important;min-width:unset!important}.header-auth-btn .desktop-only{display:none!important}.header-auth-btn .mobile-only{display:flex!important}}.header-auth-btn .mobile-only{display:none}.verified-badge{display:inline-flex;align-items:center}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.88rem;color:var(--text-primary)}.form-control{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);font-size:.95rem;transition:all .2s}.form-control:focus{outline:none;border-color:var(--fcn-green);box-shadow:0 0 0 3px #008c441a}.btn-link{background:none;border:none;cursor:pointer;text-decoration:underline;font-family:inherit}.btn-link:hover{color:var(--fcn-green)!important}.alert-success{background-color:#ecfdf5;border-color:#10b981;color:#065f46}.unread-badge{position:absolute;top:-5px;right:-5px;background:var(--error);color:#fff;font-size:.65rem;font-weight:800;height:16px;min-width:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid white}.header-icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:20px;color:var(--text-secondary);transition:all .2s}.header-icon-btn:hover{background:var(--bg-primary);color:var(--fcn-green)}.header-right.desktop-only{display:flex!important;align-items:center;gap:.75rem}
