*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #111111;--surface2: #1a1a1a;--border: #2a2a2a;--border-bright: #3a3a3a;--text: #f0f0f0;--text-muted: #777;--text-dim: #444;--accent: #ff3b3b;--accent-dim: rgba(255,59,59,.12);--accent-glow: rgba(255,59,59,.3);--green: #00e676;--green-dim: rgba(0,230,118,.1);--yellow: #ffd740;--blue: #448aff;--font-display: "Syne", sans-serif;--font-mono: "DM Mono", monospace;--font-body: "Instrument Sans", sans-serif;--radius: 6px;--radius-lg: 12px}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body);font-size:14px;border:none;outline:none}input,textarea{font-family:var(--font-body);font-size:14px;outline:none}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius);font-weight:600;font-family:var(--font-body);transition:all .15s;white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#e63030;box-shadow:0 0 20px var(--accent-glow)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--border-bright);color:var(--text)}.btn-green{background:var(--green);color:#000}.btn-green:hover{filter:brightness(.9)}.btn-sm{padding:6px 14px;font-size:12px}.btn:disabled{opacity:.4;cursor:not-allowed}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.input-field{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:11px 14px;color:var(--text);transition:border-color .15s;font-family:var(--font-mono);letter-spacing:.03em}.input-field:focus{border-color:var(--accent)}.input-field::placeholder{color:var(--text-dim)}.label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-family:var(--font-mono)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:600;font-family:var(--font-mono);letter-spacing:.05em}.badge-red{background:var(--accent-dim);color:var(--accent);border:1px solid rgba(255,59,59,.3)}.badge-green{background:var(--green-dim);color:var(--green);border:1px solid rgba(0,230,118,.2)}.badge-muted{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}.section-tag{display:inline-flex;align-items:center;justify-content:center;width:50px;height:36px;border-radius:var(--radius);font-family:var(--font-mono);font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--surface2);color:var(--text)}.app-layout{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:0}.sidebar-logo{padding:22px 20px 18px;border-bottom:1px solid var(--border)}.sidebar-logo h1{font-family:var(--font-display);font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.02em}.sidebar-logo h1 span{color:var(--accent)}.sidebar-logo p{font-size:10px;color:var(--text-dim);font-family:var(--font-mono);margin-top:2px;letter-spacing:.08em;text-transform:uppercase}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius);color:var(--text-muted);font-size:13px;font-weight:500;transition:all .12s;cursor:pointer;background:transparent;border:none;width:100%;text-align:left}.nav-item:hover{background:var(--surface2);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent)}.nav-item .badge{margin-left:auto}.sidebar-footer{padding:14px 10px;border-top:1px solid var(--border)}.main-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.page-header{padding:28px 32px 0}.page-header h2{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em}.page-header p{color:var(--text-muted);margin-top:4px;font-size:13px}.page-body{padding:24px 32px 32px;flex:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{to{transform:rotate(360deg)}}.fade-up{animation:fadeUp .3s ease both}.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;display:inline-block}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);position:relative;overflow:hidden}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 20% 80%,rgba(255,59,59,.07) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 80% 20%,rgba(255,59,59,.05) 0%,transparent 60%);pointer-events:none}.auth-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:40px 40px;opacity:.3;pointer-events:none}.auth-card{width:420px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px;position:relative;z-index:1}.auth-card-header{margin-bottom:32px}.auth-card-header h1{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.03em}.auth-card-header h1 span{color:var(--accent)}.auth-card-header p{color:var(--text-muted);margin-top:6px;font-size:13px;line-height:1.6}.browse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.user-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:border-color .15s,transform .15s;animation:fadeUp .25s ease both}.user-card:hover{border-color:var(--border-bright);transform:translateY(-1px)}.user-card.mutual{border-color:#ff3b3b66;background:linear-gradient(135deg,var(--surface) 0%,rgba(255,59,59,.04) 100%)}.user-card.mutual:hover{border-color:var(--accent)}.user-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.user-avatar{width:40px;height:40px;border-radius:10px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-muted)}.user-card.mutual .user-avatar{background:var(--accent-dim);border-color:#ff3b3b4d;color:var(--accent)}.user-card-name{font-weight:600;font-size:15px;font-family:var(--font-display)}.user-card-roll{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);margin-top:2px}.section-trade{display:flex;align-items:center;gap:8px;margin:12px 0}.section-trade span{font-size:11px;color:var(--text-dim);font-family:var(--font-mono)}.arrow-icon{color:var(--text-dim);flex-shrink:0}.inbox-list{display:flex;flex-direction:column;gap:12px}.inbox-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;align-items:center;gap:16px;animation:fadeUp .2s ease both}.inbox-item:hover{border-color:var(--border-bright)}.inbox-info{flex:1;min-width:0}.inbox-name{font-weight:600;font-family:var(--font-display)}.inbox-detail{font-size:12px;color:var(--text-muted);margin-top:3px;font-family:var(--font-mono)}.inbox-actions{display:flex;gap:8px;flex-shrink:0}.chat-layout{display:flex;height:100%;overflow:hidden}.chat-contact-banner{background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;gap:14px}.contact-info-block{flex:1}.contact-name{font-weight:600;font-family:var(--font-display);font-size:15px}.contact-details{font-size:12px;color:var(--text-muted);font-family:var(--font-mono);margin-top:3px}.contact-detail-pill{display:inline-flex;align-items:center;gap:5px;background:var(--surface2);border:1px solid var(--border);border-radius:100px;padding:3px 10px;font-size:11px;font-family:var(--font-mono);color:var(--text-muted);margin-right:6px}.messages-area{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:10px}.message-bubble{max-width:60%;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.5;animation:fadeUp .15s ease}.message-bubble.mine{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:3px}.message-bubble.theirs{align-self:flex-start;background:var(--surface2);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:3px}.message-meta{font-size:10px;color:#ffffff80;margin-top:4px;text-align:right;font-family:var(--font-mono)}.message-bubble.theirs .message-meta{color:var(--text-dim);text-align:left}.chat-input-row{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border);background:var(--surface)}.chat-input-row input{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;color:var(--text);transition:border-color .15s}.chat-input-row input:focus{border-color:var(--accent)}.chat-input-row input::placeholder{color:var(--text-dim)}.setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:40px 20px;position:relative;overflow:hidden}.setup-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(255,59,59,.06) 0%,transparent 70%);pointer-events:none}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);padding:0 32px;margin-bottom:0}.admin-tab{padding:12px 18px;font-size:13px;font-weight:500;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s;margin-bottom:-1px}.admin-tab:hover{color:var(--text)}.admin-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-table{width:100%;border-collapse:collapse}.admin-table th{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-family:var(--font-mono);padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px}.admin-table tr:hover td{background:var(--surface2)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.stat-card .stat-value{font-family:var(--font-display);font-size:36px;font-weight:700;letter-spacing:-.03em;color:var(--text)}.stat-card .stat-label{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-top:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--text-dim);text-align:center}.empty-state svg{opacity:.3}.empty-state p{font-size:13px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;font-size:13px;animation:fadeUp .2s ease;max-width:300px;box-shadow:0 8px 32px #0006}.toast.success{border-left:3px solid var(--green)}.toast.error{border-left:3px solid var(--accent)}.toast.info{border-left:3px solid var(--blue)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse-dot 2s ease infinite;display:inline-block}.section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;max-height:200px;overflow-y:auto}.section-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface2);font-family:var(--font-mono);font-size:12px;color:var(--text-muted);cursor:pointer;transition:all .12s}.section-btn:hover{border-color:var(--border-bright);color:var(--text)}.section-btn.selected{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);font-weight:600}.divider{height:1px;background:var(--border);margin:20px 0}select.input-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}
