:root{font-family:Inter,system-ui,sans-serif;background:#f7f7f5;color:#171717}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}.app{max-width:720px;margin:auto;min-height:100vh;background:#fff;padding-bottom:84px}header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;z-index:3}header strong,header small{display:block}.content{padding:18px}.hero{padding:22px;border-radius:24px;background:#f0f5ef;margin-bottom:22px}.card{border:1px solid #e7e7e7;border-radius:18px;padding:16px;margin:12px 0;background:#fff}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.authCard{width:min(420px,100%)}input,textarea{width:100%;padding:12px;border:1px solid #d7d7d7;border-radius:12px;margin:6px 0}textarea{min-height:92px;resize:vertical}button{border:0;border-radius:12px;padding:11px 14px;background:#1f5f43;color:#fff;display:inline-flex;gap:7px;align-items:center;justify-content:center;cursor:pointer}.link,.secondary{background:transparent;color:#1f5f43}.danger{background:#8c2f2f}.notice,.answer{background:#f4f4f4;padding:12px;border-radius:12px}.muted{color:#777}.badge{background:#ecf7ef;color:#1f5f43;padding:6px 9px;border-radius:999px;display:flex;gap:5px;align-items:center}.chat{display:flex;flex-direction:column;gap:10px;min-height:50vh}.bubble{max-width:80%;padding:10px 12px;border-radius:16px;background:#f1f1f1}.bubble.mine{align-self:flex-end;background:#e8f4ec}.bubble small{display:block;color:#777;margin-bottom:3px}.composer{position:sticky;bottom:74px;background:#fff;display:flex;gap:8px;padding-top:10px}.composer input{margin:0}nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:min(720px,100%);background:#fff;border-top:1px solid #eee;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 6px calc(8px + env(safe-area-inset-bottom))}nav button{background:transparent;color:#777;display:flex;flex-direction:column;padding:5px;font-size:11px}nav button.active{color:#1f5f43}nav svg{width:21px}.center{min-height:100vh;display:grid;place-items:center}select{width:100%;padding:12px;border:1px solid #d8d8d8;border-radius:10px;background:#fff;font:inherit;margin-top:6px}.checkRow{display:flex;gap:10px;align-items:center;margin:16px 0}.checkRow input{width:auto}.buttonRow{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.adminBadgeButton{border:0;cursor:pointer}.card h2{display:flex;align-items:center;gap:8px}.adminSectionHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.adminSectionHeader h2{margin-bottom:4px}.announcementList{display:flex;flex-direction:column;gap:12px}.announcementItem{border:1px solid #e5e5e5;border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.announcementContent{min-width:0;flex:1}.announcementContent h3{margin:0 0 6px}.announcementContent p{white-space:pre-wrap;margin:0 0 8px}.announcementActions{display:flex;gap:8px;flex-wrap:wrap}.announcementActions .secondary{border:1px solid #d7d7d7}.announcementActions .danger{white-space:nowrap}@media(max-width:560px){.announcementItem{flex-direction:column}.announcementActions{width:100%}.announcementActions button{flex:1}}.memberList{display:flex;flex-direction:column;gap:10px}.memberItem{border:1px solid #e5e5e5;border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:16px;align-items:center}.memberIdentity{display:flex;flex-direction:column;gap:3px;min-width:0}.memberIdentity small{overflow-wrap:anywhere}.memberActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.memberControls select{min-width:150px;margin:0}.rolePill{align-self:flex-start;background:#f1f4f2;border-radius:999px;padding:4px 8px;font-size:12px;text-transform:capitalize}.sectionGap{margin-top:24px}.dangerText{color:#8c2f2f;border:1px solid #e0caca}@media(max-width:560px){.memberItem{align-items:stretch;flex-direction:column}.memberActions{width:100%}.memberActions button{flex:1}.memberControls select{flex:1;min-width:130px}}.eventDateGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eventList{display:flex;flex-direction:column;gap:12px}.eventItem{border:1px solid #e5e5e5;border-radius:14px;padding:14px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.eventContent{min-width:0;flex:1}.eventContent h3{margin:0 0 6px}.eventContent p{margin:4px 0;white-space:pre-wrap}.eventActions{display:flex;gap:8px;flex-wrap:wrap}.eventActions .secondary{border:1px solid #d7d7d7}.eventActions .danger{white-space:nowrap}@media(max-width:560px){.eventDateGrid{grid-template-columns:1fr}.eventItem{flex-direction:column}.eventActions{width:100%}.eventActions button{flex:1}}.appImage{width:100%;max-height:360px;object-fit:cover;border-radius:14px;margin-bottom:12px;border:1px solid #ececec}.chatImage{display:block;max-width:100%;max-height:300px;object-fit:cover;border-radius:12px;margin:5px 0 8px}.imagePlaceholder{padding:18px;border:1px dashed #d7d7d7;border-radius:12px;color:#777;margin-bottom:10px}.fileInput{display:none}.iconButton{width:44px;min-width:44px;height:44px;border-radius:12px;background:#eef5f0;color:#1f5f43;display:grid;place-items:center;cursor:pointer}.composer{align-items:center}.selectedImage{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#f4f6f4;border-radius:12px;margin-top:8px;font-size:13px}.selectedImage span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messageDelete{background:transparent;color:#777;padding:5px 0 0;font-size:11px}.existingImageRow{display:flex;align-items:center;gap:12px;margin:8px 0 14px;flex-wrap:wrap}.adminThumb{width:130px;height:90px;object-fit:cover;border-radius:10px;border:1px solid #e5e5e5}.existingImageRow .adminThumb{margin:0}@media(max-width:560px){.adminThumb{width:110px;height:78px}}.groupChooser{padding:12px 14px}.groupChooser label{font-weight:600}.groupChooser select{margin-top:7px}.groupDescription{margin:6px 0 0}.groupCreateForm{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.groupCreateForm label{margin:0}.groupCreateForm button{margin-bottom:6px}.groupAdminList{display:flex;flex-direction:column;gap:14px;margin-top:18px}.groupAdminItem{border:1px solid #e5e5e5;border-radius:14px;padding:14px}.groupAdminHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.groupAdminHeader h3{margin:0 0 4px}.groupAdminHeader p{margin:0}.groupMemberGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.groupMemberCheck{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e9e9e9;border-radius:12px;cursor:pointer}.groupMemberCheck input{width:auto;margin:0}.groupMemberCheck span{display:flex;flex-direction:column;min-width:0}.groupMemberCheck small{color:#777;text-transform:capitalize}@media(max-width:620px){.groupCreateForm{grid-template-columns:1fr}.groupCreateForm button{margin-bottom:0}.groupAdminHeader{flex-direction:column}.groupMemberGrid{grid-template-columns:1fr}.groupAdminHeader button{width:100%}}.notificationHint{margin-top:12px;font-size:13px}
