/* COMPONENTS: buttons, opportunity cards, form fields, toast message. */

.pill-btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);padding:9px 16px;border-radius:999px;font-size:.88rem;font-weight:600;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}
.pill-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.pill-btn.solid{background:linear-gradient(135deg,var(--rose),var(--red-deep2));color:#fff;border-color:transparent}
.pill-btn.solid:hover{box-shadow:var(--shadow-lift);filter:brightness(1.07)}
.pill-btn:active{transform:translateY(0)}

.toggle-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);padding:9px 14px;border-radius:999px;font-size:.85rem;font-weight:600;transition:transform .15s,background .15s,color .15s}
.toggle-chip:hover{transform:translateY(-2px)}
.toggle-chip.on{background:var(--red);color:#fff;border-color:var(--red)}

.card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--cat-color,var(--red));border-radius:10px;padding:16px 17px;display:flex;flex-direction:column;gap:7px;position:relative;cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--border);border-left-color:var(--cat-color,var(--red))}
.tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.01em;width:fit-content;color:var(--cat-color,var(--red))}
.badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{font-size:.78rem;color:var(--muted);display:inline-flex;align-items:center;gap:4px}
.card h3{margin:2px 0 0;font-size:1.06rem;line-height:1.3}
.meta{font-size:.81rem;color:var(--muted);display:flex;align-items:center;gap:5px}
.meta .dot{width:3px;height:3px;border-radius:50%;background:var(--muted);flex:none}
.desc{font-size:.85rem;color:var(--muted);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.admin-row{display:flex;gap:2px;position:absolute;top:9px;right:9px}
.icon-btn{border:none;background:transparent;color:var(--muted);font-size:.92rem;padding:4px 6px;border-radius:6px;transition:background .15s,color .15s,transform .15s}
.icon-btn:hover{background:var(--bg2);color:var(--ink);transform:scale(1.1)}
.save-star{position:absolute;top:9px;left:9px;border:none;background:transparent;font-size:1.1rem;color:var(--gold);padding:4px;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}
.save-star:hover{transform:scale(1.25) rotate(-8deg)}
.empty{grid-column:1/-1;text-align:center;padding:50px 20px;color:var(--muted)}

.field{margin-bottom:13px}
.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);background:var(--bg);color:var(--ink);padding:9px 11px;border-radius:9px;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 18%, transparent)}
.field textarea{min-height:66px;resize:vertical}
.err{color:var(--danger);font-size:.82rem;margin:-5px 0 11px;min-height:1em}
.row2{display:flex;gap:10px}
.row2>*{flex:1}

.toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:11px 20px;border-radius:10px;font-size:.86rem;z-index:60;opacity:0;pointer-events:none;transition:opacity .25s}
.toast.show{opacity:1}

/* ---------- Profile icon + dropdown menu ---------- */
.profile{position:relative}
.avatar{width:38px;height:38px;border-radius:50%;border:none;display:grid;place-items:center;position:relative;
  background:linear-gradient(135deg,var(--rose),var(--red-deep2));color:#fff;font:600 .85rem 'Space Grotesk',sans-serif;letter-spacing:.02em;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s}
.avatar:hover{transform:scale(1.07);box-shadow:var(--shadow-lift)}
.profile.open .avatar{box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 30%,transparent)}
.avatar.big{width:44px;height:44px;font-size:.95rem;flex:none;cursor:default}
.avatar.big:hover{transform:none;box-shadow:none}
.avatar-dot{position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;background:var(--gold);border:2px solid var(--surface)}
.menu{display:none;position:absolute;right:0;top:calc(100% + 10px);width:min(280px,86vw);background:var(--surface);
  border:1px solid var(--border);border-radius:14px;padding:8px;box-shadow:0 22px 44px -14px rgba(0,0,0,.4);z-index:40;transform-origin:top right}
.profile.open .menu{display:block;animation:menuIn .16s ease-out}
@keyframes menuIn{from{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}
.menu-head{display:flex;gap:12px;align-items:center;padding:10px 10px 12px}
.menu-who{min-width:0;display:flex;flex-direction:column;gap:2px}
.menu-who b{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu-who span{font-size:.78rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.role{font-style:normal;font-size:.68rem;font-weight:700;width:fit-content;margin-top:4px;padding:2px 7px;border-radius:6px;background:var(--bg2);color:var(--muted)}
.role.admin{background:color-mix(in srgb,var(--red) 14%,transparent);color:var(--red)}
.menu-item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--ink);padding:10px 12px;border-radius:9px;font-size:.88rem;font-weight:500;transition:background .15s}
.menu-item:hover{background:var(--bg2)}
.menu-item.danger{color:var(--danger)}
.menu-sep{height:1px;background:var(--border);margin:6px 4px}