/* Responsive and accessibility corrections verified during the application audit. */
.auth-layout,.auth-story,.auth-card,.panel,.signal,.stat { min-width:0; }
.auth-story h1 { overflow-wrap:normal; }
.panel-body p,.post p,.news-item p { overflow-wrap:anywhere; }
button:focus-visible,a:focus-visible { outline:2px solid var(--green); outline-offset:3px; }
.toolbar { flex-wrap:wrap; }
.toolbar select,.toolbar input { min-width:0; max-width:100%; }
.audit-note { color:var(--muted); line-height:1.6; }
:root { --success:#63d8ad; }
body.light { --success:#0a6b49; --red:#a62337; }
.positive { color:var(--success); }
.negative { color:var(--red); }
.community-statuses { display:flex; gap:12px; overflow-x:auto; padding:6px 0 18px; }
.community-status { flex:0 0 auto; display:grid; justify-items:center; gap:6px; max-width:100px; text-decoration:none; border:0; background:none; }
.community-status .avatar { width:52px; height:52px; border:2px solid var(--gold); }
.community-status span:last-child { max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.community-room { display:flex; align-items:center; gap:16px; }
.community-room .icon { flex-shrink:0; }
.community-room p { margin:4px 0; }
.community-room .badge { margin-left:auto; }
.sidebar>.brand,.sidebar>.nav-group,.sidebar>.nav { flex-shrink:0; }
.community-compose-summary { cursor:pointer; color:var(--green); padding:12px 0; }
.community-rooms { grid-template-columns:repeat(3,minmax(0,1fr)); }
.community-rooms .community-room { flex-direction:column; align-items:flex-start; gap:8px; height:100%; }
.community-rooms .community-room .badge { margin-left:0; }
.chat-list { display:grid; gap:12px; margin:18px 0; }
.chat-message { padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--panel); }
.chat-message p { white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-meta { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.chat-compose { display:grid; gap:12px; }
.chat-compose textarea { width:100%; min-height:90px; }
.community-feed { display:grid; gap:16px; margin:24px 0; }
.sharing-links { display:flex; gap:10px; flex-wrap:wrap; }
@media(max-width:850px) {
  .auth-layout { grid-template-columns:minmax(0,1fr); gap:24px; padding:28px 20px; }
  .auth-story h1 { font-size:clamp(36px,9vw,54px); letter-spacing:-.03em; }
  .auth-story { min-height:0; }
  .auth-logo img { margin-bottom:24px; }
  .auth-lion { height:128px; margin:12px auto; }
}
@media(max-width:700px) {
  .topbar { height:auto; min-height:67px; gap:8px; padding:12px; }
  .top-actions { gap:6px; }
  .top-actions .pill { display:none; }
  .top-actions>.avatar { display:grid; width:30px; height:30px; }
  .mobile-brand { min-width:0; font-size:11px; letter-spacing:.3px; }
  .top-actions .icon-btn { min-width:44px; min-height:44px; }
  .mobile-nav a { min-width:0; flex:1; font-size:10px; min-height:48px; justify-content:center; }
  .intro { flex-wrap:wrap; }
  .intro>.btn { margin-top:0; min-height:44px; font-size:13px; }
  .form-grid { grid-template-columns:minmax(0,1fr); }
  input:not([type=checkbox]),select,textarea { font-size:16px; }
  .auth-card .panel-body { padding:24px 20px; }
  .auth-card .btn { white-space:normal; line-height:1.4; }
  .rooms { flex-wrap:wrap; }
  .rooms button,.periods button { min-height:44px; }
  .community-room { flex-wrap:wrap; }
  .community-rooms { grid-template-columns:minmax(0,1fr); }
  .community-room .badge { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  *,*::before,*::after { animation:none !important; transition:none !important; }
}
