.auth-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.auth-modal{background:var(--surface, #2d2d2d);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:16px;padding:2rem;width:100%;max-width:400px;position:relative;animation:authModalSlideIn .2s ease-out}@keyframes authModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.auth-modal-close:hover{color:var(--text, #ffffff)}.auth-modal-header{text-align:center;margin-bottom:1.5rem}.auth-modal-header h2{color:var(--text, #ffffff);margin:0 0 .5rem;font-size:1.5rem}.auth-modal-header p{color:var(--text-muted, rgba(255, 255, 255, .7));margin:0;font-size:.875rem}.auth-modal-oauth{margin-bottom:1.5rem}.oauth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s;margin-bottom:.75rem}.oauth-btn.google{background:#fff;color:#333}.oauth-btn.google:hover{background:#f5f5f5}.oauth-btn.apple{background:#000;color:#fff}.oauth-btn.apple:hover{background:#1a1a1a}.oauth-btn.discord{background:#5865f2;color:#fff}.oauth-btn.discord:hover{background:#4752c4}.oauth-btn.oidc{background:#374151;color:#fff}.oauth-btn.oidc:hover{background:#4b5563}.oauth-btn.oidc img{width:20px;height:20px;object-fit:contain}.auth-modal-divider{display:flex;align-items:center;margin:1rem 0}.auth-modal-divider:before,.auth-modal-divider:after{content:"";flex:1;height:1px;background:var(--border, rgba(255, 255, 255, .2))}.auth-modal-divider span{color:var(--text-muted, rgba(255, 255, 255, .7));padding:0 1rem;font-size:.875rem}.auth-modal-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.5rem}.auth-field label{color:var(--text-muted, rgba(255, 255, 255, .7));font-size:.875rem}.auth-field input{padding:.75rem;background:var(--background, #1a1a1a);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:8px;color:var(--text, #ffffff);font-size:1rem}.auth-field input:focus{outline:none;border-color:var(--accent, #a855f7)}.auth-modal-error{color:#ff6b6b;font-size:.875rem;margin:0;text-align:center}.auth-submit-btn{background:var(--primary, #3b0085);color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.auth-submit-btn:hover:not(:disabled){background:var(--primary-hover, #2d0066)}.auth-submit-btn:disabled{opacity:.6;cursor:not-allowed}.auth-modal-toggle{text-align:center;margin-top:1rem;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:.875rem}.auth-modal-toggle button{background:none;border:none;color:var(--accent, #a855f7);cursor:pointer;font-size:.875rem;padding:0}.auth-modal-toggle button:hover{text-decoration:underline}@media(max-width:480px){.auth-modal{padding:1.5rem;border-radius:12px}.auth-modal-header h2{font-size:1.25rem}}.profile-modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem}.profile-modal{background:var(--surface, #2d2d2d);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:16px;padding:2rem;width:100%;max-width:480px;position:relative;animation:profileModalSlideIn .2s ease-out;max-height:90vh;overflow-y:auto}@keyframes profileModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.profile-modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s}.profile-modal-close:hover{color:var(--text, #ffffff)}.profile-modal-header{text-align:center;margin-bottom:1.5rem}.profile-modal-header h2{color:var(--text, #ffffff);margin:0 0 .5rem;font-size:1.5rem}.profile-display-name{color:var(--accent, #a855f7);margin:0;font-size:1rem;font-weight:500}.profile-message{text-align:center;font-size:.875rem;margin-bottom:1rem;padding:.75rem;border-radius:8px}.profile-message.success{color:#4ade80;background:#4ade801a}.profile-message.error{color:#ff6b6b;background:#ff6b6b1a}.profile-view{margin-bottom:1.5rem}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.profile-info-item{display:flex;flex-direction:column;gap:.25rem}.profile-info-label{font-size:.75rem;color:var(--text-muted, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.5px}.profile-info-value{font-size:1rem;color:var(--text, #ffffff)}.profile-actions{display:flex;gap:.75rem}.profile-edit-btn,.profile-password-btn{flex:1;background:var(--primary, #3b0085);color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:background .2s}.profile-edit-btn:hover,.profile-password-btn:hover{background:var(--primary-hover, #2d0066)}.profile-password-btn{background:transparent;border:1px solid var(--border, rgba(255, 255, 255, .2));color:var(--text, #ffffff)}.profile-password-btn:hover{background:#ffffff0d;border-color:var(--accent, #a855f7)}.profile-edit-form,.profile-password-form{margin-bottom:1.5rem}.profile-field{margin-bottom:1rem}.profile-field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.profile-field label{display:block;color:var(--text-muted, rgba(255, 255, 255, .7));font-size:.875rem;margin-bottom:.5rem}.profile-field input{width:100%;padding:.75rem;background:var(--background, #1a1a1a);border:1px solid var(--border, rgba(255, 255, 255, .2));border-radius:8px;color:var(--text, #ffffff);font-size:1rem;box-sizing:border-box}.profile-field input:focus{outline:none;border-color:var(--accent, #a855f7)}.profile-field input:disabled{opacity:.6;cursor:not-allowed}.field-error{display:block;color:#ff6b6b;font-size:.75rem;margin-top:.25rem}.field-checking{display:block;color:var(--accent, #a855f7);font-size:.75rem;margin-top:.25rem}.field-note{display:block;color:var(--text-muted, rgba(255, 255, 255, .5));font-size:.75rem;margin-top:.25rem}.profile-form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.profile-save-btn{flex:1;background:var(--primary, #3b0085);color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .2s}.profile-save-btn:hover:not(:disabled){background:var(--primary-hover, #2d0066)}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-cancel-btn{flex:1;background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.profile-cancel-btn:hover{color:var(--text, #ffffff);border-color:var(--text, #ffffff)}.profile-modal-footer{padding:1rem 0;border-top:1px solid var(--border, rgba(255, 255, 255, .2));border-bottom:1px solid var(--border, rgba(255, 255, 255, .2));margin-bottom:1rem}.profile-signout-btn{width:100%;background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s}.profile-signout-btn:hover{color:var(--text, #ffffff);border-color:var(--text, #ffffff)}.profile-danger-zone{margin-top:1rem}.profile-danger-zone h3{color:#ff6b6b;font-size:.875rem;margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.5px}.profile-delete-btn{width:100%;background:transparent;color:#ff6b6b;border:1px solid #ff6b6b;padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.profile-delete-btn:hover{background:#ff6b6b;color:#fff}.profile-delete-confirm{text-align:center}.profile-delete-confirm p{color:#ff6b6b;font-size:.875rem;margin:0 0 .75rem}.profile-delete-buttons{display:flex;gap:.75rem}.confirm-delete-btn{flex:1;background:#ff6b6b;color:#fff;border:none;padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer}.confirm-delete-btn:hover{background:#ff5252}.cancel-delete-btn{flex:1;background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem;border-radius:8px;font-size:.875rem;cursor:pointer}.cancel-delete-btn:hover{color:var(--text, #ffffff);border-color:var(--text, #ffffff)}.profile-connections-btn{background:transparent;color:var(--text-muted, rgba(255, 255, 255, .7));border:1px solid var(--border, rgba(255, 255, 255, .2));padding:.75rem 1rem;border-radius:8px;font-size:.875rem;cursor:pointer;transition:all .2s}.profile-connections-btn:hover{color:var(--accent, #a855f7);border-color:var(--accent, #a855f7)}.profile-connections h3{margin:0 0 .5rem;font-size:1.1rem;color:var(--text, #ffffff)}.connections-description{color:var(--text-muted, rgba(255, 255, 255, .6));font-size:.875rem;margin-bottom:1.5rem}.connections-list{display:flex;flex-direction:column;gap:1rem}.connection-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--background, #1a1a1a);border:1px solid var(--border, rgba(255, 255, 255, .1));border-radius:8px}.connection-info{display:flex;align-items:center;gap:.75rem}.connection-icon{flex-shrink:0}.connection-details{display:flex;flex-direction:column;gap:.125rem}.connection-name{font-weight:500;color:var(--text, #ffffff)}.connection-status{font-size:.75rem;color:var(--text-muted, rgba(255, 255, 255, .6))}.connect-btn{background:var(--accent, #a855f7);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:background .2s}.connect-btn:hover{background:var(--accent-hover, #9333ea)}.disconnect-btn{background:transparent;color:#ff6b6b;border:1px solid #ff6b6b;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s}.disconnect-btn:hover{background:#ff6b6b1a}.primary-badge{background:#a855f733;color:var(--accent, #a855f7);padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500}@media(max-width:480px){.profile-modal{padding:1.5rem;border-radius:12px}.profile-modal-header h2{font-size:1.25rem}.profile-info-grid,.profile-field-row{grid-template-columns:1fr}.profile-actions,.profile-form-actions,.profile-delete-buttons{flex-direction:column}}.landing-container{min-height:100vh;display:flex;flex-direction:column}.landing-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.header-brand{display:flex;align-items:center;gap:1rem}.header-logo-link{display:flex;align-items:center}.header-logo{height:50px;width:50px}.logo{font-size:1.5rem;font-weight:700;color:var(--accent);text-decoration:none}.auth-btn{background:transparent;border:1px solid var(--accent);color:var(--accent);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.auth-btn:hover{background:var(--accent);color:#fff}.auth-btn.user-btn{border-color:var(--border);color:var(--text)}.auth-btn.user-btn:hover{border-color:var(--accent);background:#a855f71a;color:var(--text)}.user-avatar{width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.user-menu{display:flex;align-items:center;gap:1rem}.signout-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem}.signout-btn:hover{border-color:var(--accent);color:var(--text)}.landing-main{flex:1;padding:4rem 2rem;max-width:1200px;margin:0 auto;width:100%}.hero{text-align:center;margin-bottom:4rem}.hero h2{font-size:3rem;margin-bottom:1rem;background:linear-gradient(135deg,var(--accent) 0%,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.25rem;color:var(--text-muted);max-width:600px;margin:0 auto}.portals{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.portal-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2.5rem;text-align:center;transition:all .3s ease;cursor:pointer}.portal-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 10px 40px #a855f733}.portal-icon{font-size:3rem;margin-bottom:1rem}.portal-card h3{font-size:1.5rem;margin-bottom:.75rem;color:var(--text)}.portal-card p{color:var(--text-muted);font-size:1rem}.landing-footer{padding:1.5rem 2rem;text-align:center;border-top:1px solid var(--border);color:var(--text-muted);font-size:.875rem}@media(max-width:768px){.landing-header{flex-direction:column;gap:.75rem;padding:1rem}.header-brand{flex-direction:column;gap:.5rem}.header-logo{height:40px;width:40px}.logo{font-size:1.25rem}.user-menu{flex-direction:column;gap:.5rem}.hero h2{font-size:2rem}.hero p{font-size:1rem}.portals{grid-template-columns:1fr}}.user-menu-group{display:flex;align-items:center;gap:1rem}.admin-link{color:var(--accent);text-decoration:none;font-weight:500;padding:.5rem 1rem;border:1px solid var(--accent);border-radius:8px;transition:all .3s ease}.admin-link:hover{background:var(--accent);color:#fff}.admin-page{display:flex;min-height:100vh;background:var(--background)}.admin-sidebar{width:260px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100}.admin-sidebar-header{padding:1.5rem;border-bottom:1px solid var(--border)}.admin-sidebar-header h2{margin:0;font-size:1.25rem;color:var(--accent)}.admin-sidebar-nav{flex:1;overflow-y:auto;padding:1rem 0}.admin-nav-section{margin-bottom:1.5rem}.admin-nav-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:0 1.5rem;margin:0 0 .5rem}.admin-nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;color:var(--text);text-decoration:none;transition:all .2s ease}.admin-nav-link:hover{background:#a855f71a;color:var(--accent)}.admin-nav-link.active{background:#a855f726;color:var(--accent);border-left:3px solid var(--accent)}.admin-sidebar-footer{padding:1rem 1.5rem;border-top:1px solid var(--border)}.admin-back-link{color:var(--text-muted);text-decoration:none;font-size:.875rem}.admin-back-link:hover{color:var(--accent)}.admin-main{flex:1;margin-left:260px;display:flex;flex-direction:column}.admin-topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50}.admin-topbar h1{margin:0;font-size:1.5rem}.admin-user-info{display:flex;align-items:center;gap:.75rem;color:var(--text-muted)}.admin-user-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}.admin-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;padding:1.5rem 2rem;background:var(--surface);border-bottom:1px solid var(--border)}.stat-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background);border-radius:8px;border:1px solid var(--border)}.stat-icon{font-size:1.5rem}.stat-content h3{margin:0;font-size:1.5rem;font-weight:700}.stat-content p{margin:0;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-card.revenue .stat-content h3{color:#10b981}.stat-card.pending .stat-content h3{color:#f59e0b}.stat-card.success .stat-content h3{color:#10b981}.stat-card.info .stat-content h3{color:#3b82f6}.admin-content{flex:1;padding:2rem}.admin-dashboard{max-width:100%}.dashboard-welcome{margin-bottom:2rem}.dashboard-welcome h2{margin:0 0 .5rem;font-size:1.75rem}.dashboard-welcome p{margin:0;color:var(--text-muted)}.dashboard-sections{display:flex;flex-direction:column;gap:2rem}.dashboard-section h3{margin:0 0 1rem;font-size:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.quick-link-card{display:flex;gap:1rem;padding:1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-decoration:none;color:var(--text);transition:all .3s ease}.quick-link-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #a855f726}.quick-link-card.external:after{content:"↗";position:absolute;top:.75rem;right:.75rem;color:var(--text-muted);font-size:.875rem}.quick-link-card.external{position:relative}.quick-link-icon{font-size:2rem;flex-shrink:0}.quick-link-content h4{margin:0 0 .25rem;font-size:1rem}.quick-link-content p{margin:0;font-size:.875rem;color:var(--text-muted)}.admin-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-section-header h2{margin:0}.admin-section-header p{margin:0;color:var(--text-muted)}.admin-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.admin-search{flex:1;min-width:200px;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.875rem}.admin-search:focus{outline:none;border-color:var(--accent)}.admin-select{padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:.875rem;cursor:pointer}.admin-input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.875rem}.admin-input:focus{outline:none;border-color:var(--accent)}.admin-table-container{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:12px}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#0003}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#a855f70d}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-pending{background:#f59e0b33;color:#f59e0b}.status-paid{background:#10b98133;color:#10b981}.status-shipped{background:#3b82f633;color:#3b82f6}.status-delivered{background:#10b98133;color:#10b981}.status-cancelled{background:#ef444433;color:#ef4444}.status-new{background:#a855f733;color:var(--accent)}.status-read{background:#6b728033;color:#6b7280}.status-active{background:#10b98133;color:#10b981}.status-deleted{background:#ef444433;color:#ef4444}.status-admin{background:#a855f733;color:var(--accent)}.status-public{background:#10b98133;color:#10b981}.status-private{background:#ef444433;color:#ef4444}.status-unlisted{background:#f59e0b33;color:#f59e0b}.status-inherit,.status-disabled{background:#6b728033;color:#6b7280}.btn-primary{padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s ease}.btn-primary:hover{background:#9333ea}.btn-edit,.btn-view{padding:.5rem 1rem;background:transparent;border:1px solid var(--accent);color:var(--accent);border-radius:6px;cursor:pointer;font-size:.875rem;text-decoration:none;transition:all .2s ease}.btn-edit:hover,.btn-view:hover{background:var(--accent);color:#fff}.btn-save{padding:.5rem 1rem;background:#10b981;border:none;color:#fff;border-radius:6px;cursor:pointer;font-size:.875rem}.btn-save:hover{background:#059669}.btn-cancel{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;cursor:pointer;font-size:.875rem}.btn-cancel:hover{border-color:var(--accent);color:var(--text)}.btn-delete{padding:.5rem 1rem;background:transparent;border:1px solid #ef4444;color:#ef4444;border-radius:6px;cursor:pointer;font-size:.875rem}.btn-delete:hover{background:#ef4444;color:#fff}.btn-toggle{padding:.5rem 1rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.btn-toggle:hover{border-color:var(--accent);color:var(--text)}.btn-toggle.active{background:#10b9811a;border-color:#10b981;color:#10b981}.btn-toggle:disabled{opacity:.5;cursor:not-allowed}.action-buttons{display:flex;gap:.5rem}.address-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.edit-tracking{display:flex;flex-direction:column;gap:.5rem}.deleted-user{opacity:.6}.owner-cell{display:flex;flex-direction:column}.owner-cell small{font-size:.75rem;color:var(--text-muted)}.world-name-cell,.campaign-name-cell{display:flex;flex-direction:column}.world-slug,.campaign-slug{font-size:.75rem;color:var(--text-muted);font-family:monospace}.world-link{color:var(--accent);text-decoration:none}.world-link:hover{text-decoration:underline}.no-world{color:var(--text-muted);font-style:italic}.no-results{text-align:center;padding:3rem;color:var(--text-muted)}.admin-loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:var(--text-muted)}.messages-layout{display:grid;grid-template-columns:350px 1fr;gap:1.5rem;min-height:500px}.messages-list{display:flex;flex-direction:column;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.message-item{padding:1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:all .2s ease}.message-item:last-child{border-bottom:none}.message-item:hover{background:#a855f70d}.message-item.selected{background:#a855f71a;border-left:3px solid var(--accent)}.message-item.unread{background:#a855f70d}.message-item-header{display:flex;justify-content:space-between;margin-bottom:.25rem}.message-from{font-weight:600}.message-date{font-size:.75rem;color:var(--text-muted)}.message-subject{font-size:.875rem;margin-bottom:.25rem}.message-preview{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:.5rem}.message-detail{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.message-detail-header{border-bottom:1px solid var(--border);padding-bottom:1rem;margin-bottom:1rem}.message-detail-header h3{margin:0 0 .75rem}.message-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--text-muted)}.message-body{white-space:pre-wrap;line-height:1.6;margin-bottom:1.5rem}.message-actions{display:flex;gap:1rem;align-items:center}.no-message-selected,.no-messages{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.admin-form-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem}.admin-form-card h3{margin:0 0 1rem}.form-row{display:flex;gap:1rem;align-items:flex-end}.form-row .admin-input{flex:1}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500}.form-group .admin-input{width:100%}.checkbox-group{flex-direction:row;align-items:center}.checkbox-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.color-input-group{display:flex;gap:.5rem;align-items:center}.admin-color-input{width:40px;height:40px;border:none;border-radius:6px;cursor:pointer}.form-actions{display:flex;gap:1rem;margin-top:1rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.category-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.category-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.category-header h3{margin:0}.category-id{font-family:monospace;font-size:.75rem;color:var(--text-muted);background:var(--background);padding:.25rem .5rem;border-radius:4px}.subcategories-list{margin-bottom:1rem}.subcategories-list h4{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.subcategories-list ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}.subcategories-list li{background:var(--background);padding:.25rem .5rem;border-radius:4px;font-size:.875rem}.category-actions{display:flex;gap:.5rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.product-image{position:relative;height:180px;background:var(--background)}.product-image img{width:100%;height:100%;object-fit:cover}.product-image .no-image{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted)}.product-badges{position:absolute;top:.5rem;left:.5rem;display:flex;flex-direction:column;gap:.25rem}.product-badges .badge{padding:.25rem .5rem;border-radius:4px;font-size:.625rem;font-weight:600;text-transform:uppercase}.product-badges .featured{background:var(--accent);color:#fff}.product-badges .out-of-stock{background:#ef4444;color:#fff}.product-info{padding:1rem}.product-info h3{margin:0 0 .5rem;font-size:1rem}.product-category{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.product-price{font-size:1.25rem;font-weight:700;color:var(--accent);margin:0}.product-actions{padding:1rem;border-top:1px solid var(--border);display:flex;gap:.5rem;flex-wrap:wrap}.providers-list{display:flex;flex-direction:column;gap:1rem}.provider-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.provider-card.disabled{opacity:.6}.provider-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.provider-info{display:flex;gap:1rem;align-items:center}.provider-icon{width:40px;height:40px;border-radius:8px;object-fit:contain}.provider-info h3{margin:0}.provider-issuer{font-size:.75rem;color:var(--text-muted);font-family:monospace}.provider-details{display:flex;gap:2rem;margin-bottom:1rem}.detail-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.detail-label{color:var(--text-muted)}.detail-item code{background:var(--background);padding:.25rem .5rem;border-radius:4px}.color-preview{width:20px;height:20px;border-radius:4px}.provider-actions{display:flex;gap:.5rem}@media(max-width:1200px){.admin-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:992px){.admin-sidebar{width:200px}.admin-main{margin-left:200px}.messages-layout{grid-template-columns:1fr}}@media(max-width:768px){.admin-page{flex-direction:column}.admin-sidebar{position:relative;width:100%;border-right:none;border-bottom:1px solid var(--border)}.admin-sidebar-nav{display:flex;flex-wrap:wrap;padding:.5rem}.admin-nav-section{margin-bottom:0}.admin-nav-section h3{display:none}.admin-nav-link{padding:.5rem .75rem;font-size:.875rem}.admin-main{margin-left:0}.admin-stats{grid-template-columns:repeat(2,1fr);padding:1rem}.admin-content{padding:1rem}.quick-links-grid,.form-grid{grid-template-columns:1fr}.form-row{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #3b0085;--primary-hover: #2d0066;--accent: #a855f7;--background: #1a1a1a;--surface: #2d2d2d;--text: #ffffff;--text-muted: rgba(255, 255, 255, .7);--border: rgba(255, 255, 255, .2)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--text);line-height:1.6}a{text-decoration:none;color:inherit}
