/* Shared field family; native provider controls and live composers retain their layout. */
main :is(form,.form-card,.form-modal,.location-filter,.admin-modal,.safety-panel) :is(input,select,textarea):not([type="hidden"],[type="checkbox"],[type="radio"],[type="file"],[type="range"]):not(.camp-composer-input):not(.chat-input input):not(.chat-input textarea):not(.camp-composer-dock *):not(.inline-reply-form *):not([data-comment-form] *):not([data-chat-form-inline] *){
 min-height:48px;padding:11px 12px;border:1px solid var(--line,#e7e3f5);border-radius:12px;background:var(--soft,#f4f1ff);color:var(--ink,#111732);font:400 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box;max-width:100%;
}
main :is(form,.form-card,.form-modal,.location-filter,.admin-modal,.safety-panel) label{font-size:13px;font-weight:600;line-height:1.4;gap:6px;}
main :is(form,.form-card,.form-modal,.location-filter,.admin-modal,.safety-panel) textarea:not(.chat-input textarea):not(.camp-composer-dock textarea):not(.inline-reply-form textarea):not([data-comment-form] textarea):not([data-chat-form-inline] textarea){min-height:96px!important;height:auto;}
main :is(.member-line,.poster-profile-tap){color:var(--ink,#111732);}
main .camp-menu-only{display:none!important;}
.camp-verification-badge{display:inline-flex;align-self:center;margin:0 0 12px;padding:5px 9px;background:var(--soft);color:var(--muted);border-radius:8px;font-size:13px;font-weight:500;}
.camp-verification-badge[data-verified="true"]{color:#246a4d;}
.camp-verification-badge[data-verified="true"]::before{content:"✓";margin-right:5px;}
#profile-preview-screen .public-profile-details p[hidden]{display:none!important;}
main :is(form,.form-card,.form-modal) :is(.field-hint,.form-note){font-weight:400;line-height:1.45;}
.camp-audit-menu{z-index:1000!important;background:transparent;isolation:isolate;}
.camp-audit-menu>.scrim{z-index:0;}
.camp-audit-menu>.modal-card{position:relative;z-index:1;width:min(340px,100%)!important;max-width:100%!important;}
.camp-audit-menu .modal-card{display:grid;gap:12px;}
.camp-audit-menu [data-actions]{display:grid;gap:8px;}
.camp-audit-menu [data-actions]>button{text-align:left;}
.group-chat-message{position:relative;}

.camp-admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;}
.camp-admin-tabs button{min-height:44px;border:0;border-radius:12px;background:var(--soft);color:var(--primary);padding:8px 12px;}
.camp-admin-tabs button[aria-pressed="true"]{background:var(--primary);color:white;}
/* Role actions align with the role label, with a full touch target. */
[data-role-list] .admin-member-row{grid-template-columns:36px minmax(0,1fr)!important;box-sizing:border-box;}
[data-role-list] .admin-member-meta{min-width:0!important;}
[data-role-list] .admin-member-meta .camp-admin-role-line{display:grid!important;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:8px;overflow:visible!important;}
[data-role-list] .camp-admin-role-line small{margin:0;}
[data-role-list] .admin-member-row .camp-admin-role-button{display:grid;place-items:center;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;border-radius:12px!important;font-size:24px!important;line-height:1!important;box-sizing:border-box;}
[data-role-list] .camp-admin-role-button span{line-height:1!important;}
.camp-pay-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.camp-pay-summary{font-size:13px;color:var(--muted);margin:8px 0 12px;}
.camp-pay-toggle{min-height:44px;}
[data-pay-section]{border:0;padding:0;margin:0 0 12px;}
[data-pay-section] legend{font-size:16px;font-weight:600;margin-bottom:12px;}
@media(max-width:350px){.camp-pay-row{grid-template-columns:1fr;}}

/* Approved quiet admin list: scoped to role management only. */
.modal .admin-tool-card.camp-clean-admins{width:min(360px,100%)!important;padding:20px!important;min-height:0!important;border-radius:22px!important;}
.modal .camp-clean-admins .section-title{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin:0 0 12px!important;}
.modal .camp-clean-admins .section-title h2{font-size:19px!important;line-height:1.3!important;font-weight:600!important;}
.modal .camp-clean-admins .section-title button[data-close-admin-modal]{width:44px!important;height:44px!important;min-height:44px!important;max-height:none!important;min-width:44px!important;padding:0!important;background:transparent!important;color:var(--muted)!important;border:0!important;border-radius:10px!important;font-size:24px!important;font-weight:400!important;line-height:1!important;}
.modal .camp-clean-admins [data-admin-modal-body]{display:block!important;}
.modal .camp-clean-admins .camp-admin-tabs{display:flex!important;flex-wrap:nowrap;gap:20px!important;border-bottom:1px solid var(--line);margin:0 0 16px!important;}
.modal .camp-clean-admins .camp-admin-tabs button{position:relative;flex:1;min-width:0;min-height:44px;padding:8px 0 12px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:14px;line-height:1.4;font-weight:500;}
.modal .camp-clean-admins .camp-admin-tabs button[aria-pressed="true"]{color:var(--primary);}
.modal .camp-clean-admins .camp-admin-tabs button[aria-pressed="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--primary);}
.modal .camp-clean-admins label.camp-admin-role-search{display:flex!important;align-items:center;gap:8px!important;padding:0 12px;margin:0 0 8px;border-radius:10px;background:#f6f5fa;}
.modal .camp-clean-admins .camp-admin-role-search .feature-icon{width:18px;min-width:18px;height:18px;background:transparent;}
.modal .camp-clean-admins .camp-admin-role-search .feature-icon::before{width:18px;height:18px;background:var(--muted);}
.modal .camp-clean-admins .camp-admin-role-search input{min-width:0;width:100%;height:44px!important;min-height:44px!important;padding:10px 0!important;background:transparent!important;border:0!important;border-radius:0!important;font-size:16px;font-weight:400;color:var(--ink);}
.modal .camp-clean-admins .camp-admin-role-search input::placeholder{color:var(--muted);opacity:1;}
.modal .camp-clean-admins [data-role-list]{gap:0!important;padding:0!important;max-height:none!important;}
.modal .camp-clean-admins [data-role-list] .admin-member-row{padding:14px 0!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;gap:12px!important;background:transparent!important;}
.modal .camp-clean-admins [data-role-list] .admin-member-row:last-child{border-bottom:0!important;}
.modal .camp-clean-admins [data-role-list] .chat-initial{background:var(--soft)!important;color:var(--primary)!important;font-weight:500!important;}
.modal .camp-clean-admins [data-role-list] .admin-member-meta strong{font-size:15px!important;line-height:22px!important;font-weight:500!important;padding-right:52px;}
.modal .camp-clean-admins [data-role-list] .admin-member-meta small{font-size:13px!important;line-height:20px!important;font-weight:400!important;}
.modal .camp-clean-admins [data-role-list] .admin-member-meta{display:flex!important;flex-direction:column;gap:2px!important;overflow:visible!important;}
.modal .camp-clean-admins [data-role-list] .camp-admin-role-line{height:24px;grid-template-rows:24px;flex:none;width:100%;}
.modal .camp-clean-admins [data-role-list] .camp-admin-role-button{background:transparent!important;border:0!important;font-size:22px!important;font-weight:400!important;}
.modal .camp-clean-admins [data-role-list] .camp-admin-role-button span{display:grid!important;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--primary);}
.modal .camp-clean-admins [data-role-status]:empty{display:none;}
.modal .camp-clean-admins [data-role-status]{font-size:14px;line-height:1.4;color:var(--muted);margin:12px 0 0;}

/* Group chat: long-press actions, visible translation and compact content. */
#group-detail-screen [data-group-panel="chat"] .full-chat{min-height:0!important;height:auto!important;border:1px solid var(--line)!important;border-radius:20px!important;padding:12px!important;box-shadow:none!important;gap:8px!important;grid-template-rows:auto auto!important;}
#group-detail-screen [data-group-panel="chat"] .chat-messages{min-height:0!important;max-height:var(--camp-group-chat-height,min(44dvh,360px));gap:12px!important;padding:4px 0!important;overflow:auto;justify-content:flex-start;overscroll-behavior:contain;}
#group-detail-screen [data-group-panel="chat"] .message-compose{position:relative!important;bottom:auto!important;margin:0!important;padding:8px!important;border:1px solid var(--line)!important;border-radius:18px!important;box-shadow:none!important;}
#group-detail-screen .group-chat-message .bubble{position:relative!important;margin:0 0 0 38px!important;max-width:calc(100% - 86px)!important;min-width:0!important;overflow:visible!important;padding:10px 12px!important;border-radius:4px 16px 16px 16px!important;font-size:15px!important;line-height:1.5!important;font-weight:400!important;-webkit-touch-callout:none;user-select:none;}
#group-detail-screen .group-chat-message.me .bubble{justify-self:end!important;margin:0 38px 0 0!important;border-radius:16px 4px 16px 16px!important;}
#group-detail-screen .group-chat-message .student-content-header{grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important;}
#group-detail-screen .group-chat-message .chat-initial{width:30px!important;height:30px!important;min-width:30px!important;font-size:12px!important;}
#group-detail-screen .group-chat-message .student-content-line{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
#group-detail-screen .group-chat-message .student-content-line strong{font-size:14px!important;font-weight:600!important;}
#group-detail-screen .group-chat-message .student-content-line time{font-size:11px!important;font-weight:400!important;}
#group-detail-screen .group-chat-message .chat-translate-icon{position:absolute!important;right:-46px!important;bottom:0!important;width:44px!important;height:44px!important;min-height:44px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:var(--primary)!important;display:grid!important;place-items:center!important;padding:0!important;box-shadow:none!important;}
#group-detail-screen .group-chat-message .chat-translate-icon::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--soft);}
#group-detail-screen .group-chat-message .chat-translate-icon svg{position:relative;width:16px!important;height:16px!important;stroke:currentColor!important;stroke-width:2!important;fill:none!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
#group-detail-screen .group-chat-message .chat-translation-block{display:grid!important;gap:6px!important;margin-top:6px!important;}
#group-detail-screen .group-chat-message .chat-translation-divider{display:block!important;height:1px!important;background:var(--line)!important;margin:0 0 2px;}
#group-detail-screen .group-chat-message.me .chat-translation-divider{background:rgba(255,255,255,.4)!important;}
#group-detail-screen .group-chat-message .chat-translation-label{display:flex!important;flex-direction:column;font-size:11px!important;line-height:1.4!important;font-weight:400!important;color:var(--muted);}
#group-detail-screen .group-chat-message.me .chat-translation-label{color:inherit;}
#group-detail-screen .group-chat-message [data-camp-translation-toggle]{border:0!important;background:transparent!important;color:var(--primary)!important;font:inherit!important;text-align:left;min-height:44px;padding:6px 0!important;order:1;}
#group-detail-screen .group-chat-message.me [data-camp-translation-toggle]{color:inherit!important;text-decoration:underline;}
#group-detail-screen .group-chat-message .chat-translation-text{display:block!important;font-size:15px!important;line-height:1.5!important;font-weight:400!important;}
#group-detail-screen .camp-group-message-options{position:absolute;width:1px;height:1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap;}
#group-detail-screen .camp-group-message-options:focus-visible{clip-path:none;top:0;right:0;z-index:2;width:auto;height:auto;min-height:44px;padding:8px;background:var(--soft);color:var(--primary);border:1px solid var(--primary);border-radius:10px;white-space:normal;}
#group-detail-screen .camp-group-chat-hint{font-size:12px;font-weight:400;color:var(--muted);line-height:1.5;margin:12px 0 0;}

/* The author and avatar belong on the same side as their outgoing message. */
#group-detail-screen .group-chat-message{flex:none;}
#group-detail-screen .group-chat-message.me .student-content-header{grid-template-columns:minmax(0,1fr) 30px!important;}
#group-detail-screen .group-chat-message.me .student-content-header>.chat-initial{grid-column:2;grid-row:1;}
#group-detail-screen .group-chat-message.me .student-content-line{grid-column:1;grid-row:1;justify-content:flex-end!important;text-align:right;}
#group-detail-screen .group-chat-message.me .chat-translate-icon{right:auto!important;left:-46px!important;}
#group-detail-screen [data-group-panel="chat"] .message-compose textarea{height:44px;min-height:44px!important;max-height:112px;}

/* Compact chat page: the selected tab provides the visible heading. */
#group-detail-screen.camp-chat-panel-open .detail-tabs{margin-top:8px!important;margin-bottom:8px!important;}
#group-detail-screen [data-group-panel="chat"] .full-chat{margin:0!important;}
#group-detail-screen [data-group-panel="chat"] .message-compose{padding:6px!important;}
#group-detail-screen .group-chat-message .student-content-header{margin-bottom:2px!important;}
