.contact-page{min-height:100vh;background:var(--color-background-app);color:var(--color-text-primary);position:relative;overflow:hidden}.contact-page:before{content:"";position:absolute;top:-20%;left:0;width:100%;height:80%;background:radial-gradient(ellipse at 50% 30%,rgba(35,184,200,.06) 0%,transparent 60%);pointer-events:none;z-index:0}.contact-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,rgba(35,184,200,.012) 1px,transparent 1px),linear-gradient(-45deg,rgba(35,184,200,.012) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}.contact-page .contact-hero{position:relative;z-index:1;text-align:center;padding:2.5rem 2rem 2rem;max-width:760px;margin:0 auto}.contact-page .contact-hero-title{font-family:var(--font-family-heading);font-size:2.75rem;font-weight:500;color:var(--color-text-primary);margin:0 0 1rem;line-height:1.1;letter-spacing:-.02em}.contact-page .contact-hero-accent{background:linear-gradient(135deg,var(--color-brand-cyan),var(--color-brand-cyan-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.contact-page .contact-hero-subtitle{font-size:1.0625rem;color:var(--color-text-tertiary);margin:0 auto;font-weight:400;line-height:1.6;max-width:540px}.contact-page .contact-content{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 2rem 3rem}.contact-page .contact-social-strip{display:flex;align-items:center;justify-content:center;gap:0;padding:1rem 1.5rem;background:var(--color-background-content-primary);border:1px solid var(--color-border-primary);clip-path:polygon(0 0,calc(100% - 1rem) 0,100% 1rem,100% 100%,1rem 100%,0 calc(100% - 1rem));margin-bottom:2rem}.contact-page .contact-social-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.25rem;flex:1;min-width:0;text-decoration:none;color:var(--color-text-secondary);transition:color .2s ease}.contact-page .contact-social-item:hover{color:var(--color-text-primary)}.contact-page .contact-social-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--border-radius-md);background:#23b8c814;color:var(--color-accent-primary);flex-shrink:0;transition:background .2s ease}.contact-page .contact-social-item:hover .contact-social-icon{background:#23b8c826}.contact-page .contact-social-text{display:flex;flex-direction:column;gap:.125rem;min-width:0}.contact-page .contact-social-name{font-size:.875rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.contact-page .contact-social-handle{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.contact-page .contact-social-divider{width:1px;height:2rem;background:var(--color-border-primary);flex-shrink:0}.contact-page .contact-tabs{display:flex;gap:0;padding:0;background:#0003;border:1px solid var(--color-border-primary);margin-bottom:1.5rem;overflow:hidden}.contact-page .contact-tab{flex:1;padding:var(--space-md) var(--space-lg);border:none;background:transparent;color:var(--color-text-secondary);font-weight:500;font-size:.9375rem;font-family:var(--font-family-heading);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:all .2s ease;text-align:center;border-bottom:2px solid transparent}.contact-page .contact-tab+.contact-tab{border-left:1px solid var(--color-border-primary)}.contact-page .contact-tab:hover{background:#ffffff08;color:var(--color-text-primary)}.contact-page .contact-tab.active{background:transparent;color:var(--color-accent-primary);border-bottom:2px solid var(--color-accent-primary)}.contact-page .contact-tab.active:hover{background:#ffffff08}.contact-page .contact-card{background:var(--color-background-content-primary);border:1px solid var(--color-border-primary);clip-path:polygon(0 0,calc(100% - 1.25rem) 0,100% 1.25rem,100% 100%,0 100%);padding:1.75rem;position:relative;overflow:hidden}.contact-page .contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-brand-cyan);opacity:.4}.contact-page .contact-form{display:flex;flex-direction:column;gap:var(--space-lg)}.contact-page .contact-form-group{display:flex;flex-direction:column}.contact-page .contact-form-group label{font-weight:500;margin-bottom:var(--space-xs);color:var(--color-text-primary);font-size:.9375rem}.contact-page .contact-form-group input,.contact-page .contact-form-group textarea{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);background-color:var(--color-background-content-secondary);color:var(--color-text-primary);font-size:.9375rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease}.contact-page .contact-form-group input:focus,.contact-page .contact-form-group textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #23b8c833}.contact-page .contact-form-group input:disabled,.contact-page .contact-form-group textarea:disabled{opacity:.5;cursor:not-allowed}.contact-page .contact-form-group textarea{resize:vertical;min-height:100px}.contact-page .contact-form-group input[type=file]{border:2px dashed var(--color-border-primary);background-color:#ffffff05;padding:var(--space-lg);text-align:center;cursor:pointer;transition:all .2s ease}.contact-page .contact-form-group input[type=file]:hover{border-color:#23b8c866;background-color:#23b8c80a}.contact-page .contact-submit-btn{font-weight:600;font-size:.9375rem;background:var(--color-accent-primary);color:#fff;padding:var(--space-md) var(--space-lg);border:none;cursor:pointer;transition:background-color .2s ease,transform .2s ease;align-self:flex-start;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))}.contact-page .contact-submit-btn:hover:not(:disabled){background:var(--color-accent-primary-hover);transform:translateY(-1px)}.contact-page .contact-submit-btn:disabled{opacity:.5;cursor:not-allowed}.contact-page .contact-success-message{margin-top:1.5rem;padding:var(--space-md);border-radius:var(--border-radius-md);text-align:center;background:#4ade801a;color:#4ade80;border:1px solid rgba(74,222,128,.3)}.contact-page .contact-success-message p{margin:0}.contact-page .contact-success-message p+p{margin-top:var(--space-xs)}.contact-page .contact-ticket-ref{font-size:.875rem;color:#4ade80cc}.contact-page .contact-link-btn{background:none;border:none;color:var(--color-accent-primary);text-decoration:underline;cursor:pointer;font-weight:500;font-size:.875rem;padding:0}.contact-page .contact-link-btn:hover{color:var(--color-accent-primary-hover)}.contact-page .contact-error-message{margin-top:1.5rem;padding:var(--space-md);border-radius:var(--border-radius-md);text-align:center;background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.3)}.contact-page .contact-error-message p{margin:0}.contact-page .contact-auth-warning{margin-bottom:var(--space-lg);padding:var(--space-md);border-radius:var(--border-radius-md);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fbbf24;text-align:center}.contact-page .contact-auth-warning p{margin:0}.contact-page .contact-auth-warning p+p{margin-top:var(--space-xs)}.contact-page .contact-auth-warning a{color:var(--color-accent-primary);text-decoration:underline;font-weight:500}.contact-page .contact-auth-warning a:hover{color:var(--color-accent-primary-hover)}.contact-page .contact-external-logs{padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius-sm);background:#60a5fa1a;color:#60a5fa;border:1px solid rgba(96,165,250,.3);font-size:.875rem}.contact-page .contact-external-logs p{margin:0;display:flex;align-items:center;gap:var(--space-xs)}.contact-page .contact-image-preview{margin-top:var(--space-sm);overflow:hidden;border:1px solid var(--color-border-primary);max-width:300px}.contact-page .contact-image-preview img{width:100%;height:auto;display:block}.contact-page .contact-loading,.contact-page .contact-empty-state{text-align:center;padding:2rem;color:var(--color-text-secondary)}.contact-page .contact-empty-state p{margin:0 0 .5rem}.contact-page .contact-empty-state p:last-child{margin-bottom:0}.contact-page .ticket-list{display:flex;flex-direction:column;gap:.75rem}.contact-page .ticket-card{background:var(--color-background-content-primary);border:1px solid var(--color-border-primary);overflow:hidden;transition:border-color .2s ease}.contact-page .ticket-card:hover{border-color:#23b8c833}.contact-page .ticket-card.expanded{border-color:#23b8c84d}.contact-page .ticket-card-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:none;border:none;color:var(--color-text-primary);cursor:pointer;text-align:left;transition:background .2s ease}.contact-page .ticket-card-header:hover{background:#ffffff05}.contact-page .ticket-card-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.contact-page .ticket-card-subject{font-weight:500;font-size:.9375rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-page .ticket-card-date{font-size:.8125rem;color:var(--color-text-muted)}.contact-page .ticket-card-badges{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.contact-page .ticket-card-chevron{transition:transform .2s ease;color:var(--color-text-muted)}.contact-page .ticket-card.expanded .ticket-card-chevron{transform:rotate(180deg)}.contact-page .ticket-badge{padding:.2rem .5rem;font-size:.75rem;font-weight:600;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,0 100%)}.contact-page .ticket-badge-type-contact{background:#60a5fa26;color:#60a5fa}.contact-page .ticket-badge-type-bug_report{background:#f8717126;color:#f87171}.contact-page .ticket-badge-status-open{background:#3b82f626;color:#3b82f6}.contact-page .ticket-badge-status-in_progress{background:#f59e0b26;color:#f59e0b}.contact-page .ticket-badge-status-closed{background:#10b98126;color:#10b981}.contact-page .ticket-thread{padding:0 1.25rem 1.25rem;border-top:1px solid var(--color-border-primary)}.contact-page .ticket-thread-msg{padding:.75rem 1rem;border-radius:var(--border-radius-md);margin-top:.75rem}.contact-page .ticket-thread-msg.user{background:#ffffff08;border:1px solid var(--color-border-primary);margin-right:2rem}.contact-page .ticket-thread-msg.admin{background:#23b8c814;border:1px solid rgba(35,184,200,.15);margin-left:2rem}.contact-page .ticket-thread-msg-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.contact-page .ticket-thread-msg-sender{font-weight:600;font-size:.8125rem;color:var(--color-text-primary)}.contact-page .ticket-thread-msg.admin .ticket-thread-msg-sender{color:var(--color-accent-primary)}.contact-page .ticket-thread-msg-time{font-size:.75rem;color:var(--color-text-muted)}.contact-page .ticket-thread-msg-body{font-size:.9375rem;line-height:1.6;color:var(--color-text-secondary);white-space:pre-wrap;word-wrap:break-word}.contact-page .ticket-reply-form{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.contact-page .ticket-reply-form textarea{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-md);background-color:var(--color-background-content-secondary);color:var(--color-text-primary);font-size:.9375rem;font-family:inherit;resize:vertical;transition:border-color .2s ease,box-shadow .2s ease}.contact-page .ticket-reply-form textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #23b8c833}.contact-page .ticket-reply-form textarea:disabled{opacity:.5;cursor:not-allowed}.contact-page .ticket-closed-notice{margin-top:1rem;padding:1rem;border-radius:var(--border-radius-md);background:#f59e0b14;border:1px solid rgba(245,158,11,.2)}.contact-page .ticket-closed-notice>p{margin:0 0 .75rem;font-size:.875rem;color:#f59e0b}@media(max-width:900px){.contact-page .contact-social-strip{flex-wrap:wrap;gap:.5rem;padding:1rem;clip-path:none}.contact-page .contact-social-divider{display:none}.contact-page .contact-social-item{flex:0 0 calc(50% - .5rem);padding:.5rem .75rem}.contact-page .ticket-thread-msg.user{margin-right:0}.contact-page .ticket-thread-msg.admin{margin-left:0}}@media(max-width:600px){.contact-page .contact-hero{padding:1.5rem 1rem}.contact-page .contact-hero-title{font-size:2rem}.contact-page .contact-content{padding:0 1rem 2rem}.contact-page .contact-social-item{flex:0 0 100%}.contact-page .contact-tabs{flex-direction:column}.contact-page .contact-tab+.contact-tab{border-left:none;border-top:1px solid var(--color-border-primary)}.contact-page .contact-card{padding:1.25rem;clip-path:none}.contact-page .ticket-card-header{flex-direction:column;align-items:flex-start}.contact-page .ticket-card-badges{margin-top:.5rem}.contact-page .contact-image-preview{max-width:100%}}
