/* Peermigo 2026-10: compact, expandable student directory and mobile messaging.
   Desktop directory layout and desktop message composer are unchanged. */
.directory-expand-button{display:none!important}
#messageForm #messageBody{resize:none;overflow-y:auto;max-height:152px;min-height:44px;line-height:1.5;box-sizing:border-box}
#messageForm .pm-send-icon{width:19px;height:19px;stroke:currentColor}
@media(max-width:720px){
  /* Compact study partner cards, initially folded on phones. */
  #matchesGrid,#allPeersGrid{grid-template-columns:minmax(0,1fr);gap:12px}
  .directory-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:0!important;padding:15px!important;border-radius:18px;gap:0;transform:none!important}
  .directory-card .peer-card-top{display:contents}
  .directory-card .directory-avatar-link{grid-column:1;grid-row:1}
  .directory-card .peer-card-top .directory-status{grid-column:3;grid-row:1;max-width:100%;padding:7px 8px}
  .directory-card .pm-avatar.card-avatar{width:54px;height:54px;min-width:54px;border-radius:50%}
  .directory-card .directory-main{grid-column:2;grid-row:1;min-width:0}
  .directory-card .directory-main h3{margin:0;font-size:clamp(14px,4.3vw,17px);line-height:1.4;gap:7px}
  .directory-card .directory-main h3 .verified-label{font-size:10px}
  .directory-card .directory-expandable{grid-column:1/-1;grid-row:3;min-width:0}
  .directory-card:not(.is-expanded) .directory-expandable{display:none}
  .directory-card.is-expanded .directory-expandable{display:block;margin-top:15px;padding-top:13px;border-top:1px solid #e7e9f3}
  .directory-card .peer-card-actions{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:7px;margin:14px 0 0;padding:0;border:0}
  .directory-card .peer-card-actions>*{height:44px;min-height:44px!important;font-size:12px!important;border-radius:12px;padding:9px 8px!important}
  .directory-card .peer-card-actions .pm-icon{width:16px;height:16px}
  .directory-card .directory-expand-button{display:inline-flex!important;align-items:center;justify-content:center;width:40px;border:1px solid #dcdcf5;border-radius:12px;background:#f0efff;color:#594add;cursor:pointer}
  .directory-card .directory-expand-button .pm-icon{transition:transform .18s}
  .directory-card.is-expanded .directory-expand-button .pm-icon{transform:rotate(180deg)}
  .directory-card .peer-card-actions .directory-share,.directory-card .peer-card-actions .directory-report{display:none!important}
  .directory-card.is-expanded .peer-card-actions .directory-share,.directory-card.is-expanded .peer-card-actions .directory-report{display:flex!important;grid-row:2;justify-self:end;width:40px}
  .directory-card.is-expanded .peer-card-actions .directory-share{grid-column:2}
  .directory-card.is-expanded .peer-card-actions .directory-report{grid-column:3}
  .directory-card .directory-detail-grid{margin-bottom:12px}
  .directory-card .directory-subjects{margin-bottom:12px}
  .directory-card .directory-preferences{padding-bottom:3px}
  .directory-card .directory-welcome{min-height:0;margin:8px 0 0}
  html[data-theme="dark"] .directory-card.is-expanded .directory-expandable{border-color:#3d4b6c}
  html[data-theme="dark"] .directory-card .directory-expand-button{background:#303052;border-color:#585486;color:#c8bfff}
  /* A Telegram-inspired input bar, without voice or call controls. */
  .messaging-layout.chat-open .chat-window{height:min(780px,calc(var(--pm-visible-height,100dvh) - 172px))!important;max-height:none!important;min-height:260px!important;overflow:hidden;display:flex;flex-direction:column}
  body.pm-dock-visible .messaging-layout.chat-open .chat-window{height:min(780px,calc(var(--pm-visible-height,100dvh) - 188px))!important}
  body.pm-dock-typing .messaging-layout.chat-open .chat-window{height:min(780px,calc(var(--pm-visible-height,100dvh) - 96px))!important}
  .messaging-layout.chat-open .chat-messages{flex:1 1 auto;min-height:0!important;max-height:none!important;overflow-y:auto;scrollbar-width:thin;padding:14px 12px 10px}
  .messaging-layout.chat-open .chat-header{flex:0 0 auto}
  #messageForm{position:relative;display:grid!important;grid-template-columns:44px minmax(0,1fr) 46px!important;grid-template-rows:auto auto;align-items:end!important;column-gap:8px!important;row-gap:5px!important;padding:10px 10px calc(10px + env(safe-area-inset-bottom,0px))!important;background:#fff;border-top:1px solid #e7e8f4;flex:none;min-width:0}
  #messageForm .attachment-picker{grid-column:1!important;grid-row:1!important;display:flex;align-items:center;justify-content:center;align-self:end;width:44px!important;height:54px!important;border-radius:16px!important;border:1px solid #e5e3f3;background:#f6f4ff;color:#695ce4}
  #messageForm #messageBody{grid-column:2!important;grid-row:1!important;min-height:54px!important;max-height:146px!important;height:54px;padding:15px 46px 13px 13px!important;font-size:16px!important;line-height:1.42!important;min-width:0;border:1px solid #dfdff0;border-radius:18px;outline:none;background:#fafaff;color:#26324f;overflow-y:auto;resize:none;box-sizing:border-box;word-break:break-word}
  #messageForm #messageBody:focus{border-color:#7869eb;box-shadow:0 0 0 2px #7769ed20}
  #messageForm .pm-emoji-toggle{grid-column:2!important;grid-row:1!important;justify-self:end;align-self:end;z-index:2;margin:0 4px 7px 0!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;background:transparent!important;border:0!important;border-radius:14px;color:#7765e5}
  #messageForm #sendMessageBtn{grid-column:3!important;grid-row:1!important;align-self:end;width:46px!important;height:54px!important;min-height:54px!important;min-width:46px!important;border-radius:16px!important;padding:0!important;font-size:12px!important;display:flex;align-items:center;justify-content:center;overflow:hidden}
  #messageForm #sendMessageBtn .pm-send-text{display:none}
  #messageForm #sendMessageBtn .pm-send-icon{display:block;width:23px;height:23px}
  #messageForm .picked-files{grid-column:1/-1!important;grid-row:2!important;min-width:0;font-size:11px;line-height:1.4}
  #messageForm .picked-files:empty{display:none!important}
  html[data-theme="dark"] #messageForm{background:#172137;border-color:#3c4665}
  html[data-theme="dark"] #messageForm #messageBody{background:#242f48;border-color:#43516d;color:#f1f3ff}
  html[data-theme="dark"] #messageForm #messageBody::placeholder{color:#a6b1ce}
  html[data-theme="dark"] #messageForm .attachment-picker{background:#293653;color:#c7beff;border-color:#445071}
  html[data-theme="dark"] #messageForm .pm-emoji-toggle{color:#c7beff}
  @media(prefers-reduced-motion:reduce){.directory-card .directory-expand-button .pm-icon{transition:none}}
}
@media(max-width:360px){
  #messageForm{grid-template-columns:40px minmax(0,1fr) 42px!important;column-gap:5px!important;padding:7px!important}
  #messageForm .attachment-picker{width:40px!important;height:50px!important}
  #messageForm #messageBody{min-height:50px!important;padding:12px 41px 11px 11px!important}
  #messageForm .pm-emoji-toggle{width:35px!important;min-width:35px!important;height:35px!important;min-height:35px!important}
  #messageForm #sendMessageBtn{width:42px!important;min-width:42px!important;height:50px!important;min-height:50px!important}
  .directory-card .peer-card-actions>*{font-size:11px!important}
}

.group-card-toggle{display:none}
.pm-chat-header-avatar-link{flex-shrink:0}
.pm-chat-header-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.pm-chat-header-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;color:#6a5ddd}
@media(max-width:720px){
  #groupsGrid{grid-template-columns:minmax(0,1fr);gap:12px}
  .group-directory-card{padding:16px!important;border-radius:18px;display:flex;flex-direction:column;gap:0;min-height:0!important}
  .group-directory-card .group-card-summary h3{margin:10px 0 6px;font-size:17px}
  .group-directory-card .group-card-summary-line{margin:0;color:#67718c;font-size:12px;line-height:1.5}
  .group-directory-card .group-card-expandable{display:none;margin-top:14px;padding-top:13px;border-top:1px solid #e7e9f3}
  .group-directory-card.is-expanded .group-card-expandable{display:block}
  .group-directory-card .group-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
  .group-directory-card .group-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;margin-top:14px}
  .group-directory-card .group-card-actions .btn,.group-directory-card .group-card-actions .small-ghost{min-height:44px!important;border-radius:12px;padding:10px 11px!important}
  .group-directory-card .group-card-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;padding:0!important}
  .group-directory-card .group-card-toggle .pm-icon{transition:transform .18s}
  .group-directory-card.is-expanded .group-card-toggle .pm-icon{transform:rotate(180deg)}
  .room-panel-head{align-items:flex-start;gap:10px}
  .room-panel-head h2{margin:4px 0 6px}
  .room-panel-head p{line-height:1.5}
  .messaging-layout .chat-header{padding:12px 12px 11px;gap:9px;min-height:74px;align-items:flex-start}
  .messaging-layout .chat-header .conversation-avatar,.messaging-layout .chat-header .pm-avatar{width:42px;height:42px;border-radius:14px}
  .messaging-layout .chat-header .text-button{font-size:11px;padding:6px 4px}
  .messaging-layout .chat-header strong{font-size:13px;line-height:1.3}
  .messaging-layout .chat-header small{font-size:10px;line-height:1.35}
  html[data-theme="dark"] .group-directory-card .group-card-expandable{border-color:#3d4b6c}
}
@media(max-width:360px){
  .group-directory-card .group-card-actions{grid-template-columns:minmax(0,1fr) auto auto;grid-auto-flow:row}
  .group-directory-card .group-card-actions .small-ghost.manage-action{grid-column:2}
}
/* Group details: labels are visibly quieter than the values they describe. */
.group-directory-card .group-card-meta .pm-group-fact{display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:transparent!important;border:0!important;border-radius:0;padding:0 14px 5px 0;max-width:100%;min-width:110px;color:inherit!important}
.group-directory-card .group-card-meta .pm-group-fact small{font-size:10px;line-height:1.4;font-weight:800;letter-spacing:.07em;color:#97a1b6!important}
.group-directory-card .group-card-meta .pm-group-fact b{font-size:12px;font-weight:700;line-height:1.45;color:#43506a;overflow-wrap:anywhere}
html[data-theme="dark"] .group-directory-card .group-card-meta .pm-group-fact small{color:#a8b5d2!important}
html[data-theme="dark"] .group-directory-card .group-card-meta .pm-group-fact b{color:#eef0ff}
