.connreq-overlay{position:fixed;inset:0;z-index:6000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(0,0,0,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=light] .connreq-overlay{background:rgba(0,0,0,.32)}.connreq-card{position:relative;width:100%;max-width:460px;padding:32px 28px 24px;border-radius:24px;background:rgba(20,20,28,.72);border:1px solid rgba(255,255,255,.08);box-shadow:0 25px 60px -20px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.02);backdrop-filter:blur(28px) saturate(1.1);-webkit-backdrop-filter:blur(28px) saturate(1.1);color:var(--text-primary)}[data-theme=light] .connreq-card{background:rgba(255,255,255,.94);border-color:rgba(0,0,0,.06);box-shadow:0 25px 60px -20px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.05)}.connreq-close{position:absolute;top:14px;inset-inline-end:14px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:50%;background:var(--hover-bg);color:var(--text-secondary);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.connreq-close:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color-strong)}.connreq-header{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:18px}.connreq-avatar{width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 8px 22px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.connreq-avatar img{width:100%;height:100%;object-fit:cover;display:block}.connreq-title{margin:0;font-size:18px;font-weight:600;letter-spacing:-.015em;color:var(--text-primary)}.connreq-title strong{font-weight:700}.connreq-subtitle{margin:0;font-size:13px;line-height:1.55;color:var(--text-secondary);max-width:360px}.connreq-subtitle-hint{color:var(--text-tertiary)}.connreq-body{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.connreq-textarea{width:100%;min-height:110px;max-height:220px;padding:14px 16px;border:1px solid var(--border-color);border-radius:14px;background:var(--hover-bg);color:var(--text-primary);font-family:inherit;font-size:14px;line-height:1.5;resize:vertical;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.connreq-textarea::placeholder{color:var(--text-tertiary)}.connreq-textarea:focus{outline:none;border-color:var(--text-primary);background:var(--bg-secondary);box-shadow:0 0 0 4px rgba(0,0,0,.04)}[data-theme=dark] .connreq-textarea:focus{box-shadow:0 0 0 4px rgba(255,255,255,.04)}.connreq-textarea:disabled{opacity:.6;cursor:not-allowed}.connreq-meta{display:flex;align-items:center;justify-content:space-between;padding:0 4px;font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.connreq-hint kbd{display:inline-block;padding:1px 5px;border:1px solid var(--border-color);border-radius:4px;background:var(--hover-bg);color:var(--text-secondary);font-family:inherit;font-size:10px;font-weight:600;margin:0 2px}.connreq-error{margin-top:4px;padding:8px 12px;border:1px solid rgba(239,68,68,.3);border-radius:10px;background:rgba(239,68,68,.08);color:rgba(239,68,68,.95);font-size:12.5px;text-align:center}.connreq-actions{display:flex;gap:10px;justify-content:flex-end}.connreq-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;border-radius:50px;font-family:inherit;font-size:13.5px;font-weight:600;letter-spacing:-.005em;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease}.connreq-btn:disabled{opacity:.55;cursor:wait}.connreq-btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.connreq-btn--ghost:hover:not(:disabled){background:var(--hover-bg);color:var(--text-primary);border-color:var(--border-color-strong)}.connreq-btn--primary{background:var(--text-primary);color:var(--bg-primary);border:1px solid var(--text-primary)}.connreq-btn--primary:hover:not(:disabled){opacity:.88;box-shadow:0 6px 18px rgba(0,0,0,.2)}.connreq-btn--primary svg{stroke:var(--bg-primary)}@media (max-width:480px){.connreq-card{padding:28px 20px 20px;border-radius:20px}.connreq-actions{flex-direction:column-reverse}.connreq-btn{width:100%;height:44px}}