/* MAMY VON Admin Center — readable, grouped, mobile first. */
body[data-app-tab="admin"]{background:#f6f7f3}
body[data-app-tab="admin"] .appShell{width:min(1000px,100%)}
#tab-admin{--admin-border:#e1e6dc;--admin-text:#304626;--admin-muted:#5f6b58;font-size:16px;color:var(--admin-text)}
#tab-admin [hidden]{display:none!important}
#tab-admin .adminScreenHead{padding:16px 0 26px;gap:16px;align-items:center}
#tab-admin .adminScreenHead .sectionKicker{font-size:12px;letter-spacing:.09em;color:var(--admin-muted)}
#tab-admin .adminScreenHead h2{font-size:clamp(26px,4vw,36px);line-height:1.15;margin-top:10px;max-width:620px}
#tab-admin .miniAction{background:#fff;border:1px solid var(--admin-border);box-shadow:none;border-radius:12px;padding:12px 16px;font-size:14px;min-height:44px;color:var(--admin-text)}
#tab-admin .adminStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
#tab-admin .adminStat{min-height:100px;padding:18px;background:#fff;border:1px solid var(--admin-border);border-radius:16px;box-shadow:none;gap:12px}
#tab-admin .adminStat:first-child{background:#304626;border-color:#304626}
#tab-admin .adminStat:first-child b,#tab-admin .adminStat:first-child span{color:white}
#tab-admin .adminStat b{font-size:32px;letter-spacing:-.03em;line-height:1}
#tab-admin .adminStat span{font-size:14px;font-weight:650;line-height:1.35;color:var(--admin-muted)}
#tab-admin .adminStat.danger{background:#fbe9e0;border-color:#f1cbb8}
#tab-admin .adminCard{background:#fff;border:1px solid var(--admin-border);border-radius:18px;padding:22px;box-shadow:none;margin-bottom:18px}
#tab-admin .adminAttentionCard{background:#fff;margin-bottom:22px;padding:16px 20px}
#tab-admin .adminAttentionCard:has(.adminEmpty) .adminCardHead{display:none}
#tab-admin .adminAttentionCard:has(.adminEmpty){border-left:4px solid #9ca975}
#tab-admin .adminAttentionCard .adminEmpty{padding:0;background:none;text-align:left;color:var(--admin-muted);font-weight:500}
#tab-admin .adminNav{display:flex;gap:4px;padding:5px;border:1px solid var(--admin-border);background:#edf0e8;border-radius:14px;margin:0 0 22px;width:fit-content;max-width:100%}
#tab-admin .adminNav button{border:0;background:transparent;color:var(--admin-muted);border-radius:10px;padding:12px 22px;font-size:15px;line-height:1.3;font-weight:750;min-height:44px;white-space:nowrap}
#tab-admin .adminNav button[aria-selected="true"]{background:#fff;color:var(--admin-text);box-shadow:0 2px 5px #30462610}
#tab-admin button:focus-visible,#tab-admin summary:focus-visible,#tab-admin input:focus-visible{outline:3px solid #bd522d;outline-offset:3px}
#tab-admin .sectionKicker,#tab-admin .adminDetails summary small{font-size:12px;letter-spacing:.08em;color:var(--admin-muted);line-height:1.4}
#tab-admin .adminCardHead h3,#tab-admin .adminDetails summary strong{font-size:21px;line-height:1.25;color:var(--admin-text);margin-top:5px}
#tab-admin .adminCardHead{align-items:center;margin-bottom:18px}
#tab-admin .adminCountPill{font-size:14px;font-weight:800;background:#edf0e8;min-width:34px;height:34px}
#tab-admin .adminHelper{font-size:14px;line-height:1.55;margin:0 0 18px;color:var(--admin-muted)}
#tab-admin .adminEvents,#tab-admin .adminWalks{display:grid;gap:14px}
#tab-admin .adminEventCard,#tab-admin .adminWalkCard{background:#fff;border:1px solid var(--admin-border);border-radius:14px;padding:18px;box-shadow:none}
#tab-admin .adminEventHead strong,#tab-admin .adminWalkMain>strong{font-size:19px;line-height:1.35;font-weight:800}
#tab-admin .adminEventHead small,#tab-admin .adminWalkMain>small{font-size:14px;line-height:1.6;margin-top:4px;display:block;color:var(--admin-muted)}
#tab-admin .adminWalkMain{min-width:0}
#tab-admin .adminWalkMain>p{font-size:14px;line-height:1.55;margin:12px 0;color:var(--admin-muted)}
#tab-admin .adminEventStatus{font-size:12px;padding:7px 10px;font-weight:700}
#tab-admin .adminEventMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 0;margin:8px 0;border-top:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border)}
#tab-admin .adminEventMetrics>div{background:none;border:none;padding:0}
#tab-admin .adminEventMetrics b{font-size:26px;line-height:1.1}
#tab-admin .adminEventMetrics span{font-size:13px;font-weight:550;line-height:1.45;margin-top:5px;color:var(--admin-muted)}
#tab-admin .adminEventProgress{height:6px;background:#edf0e8;border-radius:10px;margin:8px 0}
#tab-admin .adminEventProgress span{background:#d97550;border-radius:10px}
#tab-admin .adminEventFooter{font-size:13px;line-height:1.5;color:var(--admin-muted);gap:12px}
#tab-admin .adminWalkConfirmationCounts{display:flex;gap:22px;flex-wrap:wrap;margin:18px 0;padding:14px 0;border-top:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border)}
#tab-admin .adminWalkConfirmationCounts span{background:none;border:none;padding:0;display:grid;gap:5px;font-size:14px;font-weight:550;color:var(--admin-muted)}
#tab-admin .adminWalkConfirmationCounts b{font-size:27px;color:var(--admin-text)}
#tab-admin .adminWalkRoster summary{font-size:14px;font-weight:750;padding:10px 0;min-height:44px;cursor:pointer}
#tab-admin .adminWalkRoster ul{padding:0;margin:8px 0 18px;list-style:none}
#tab-admin .adminWalkRoster li{padding:12px 0;border-bottom:1px solid var(--admin-border);display:flex;align-items:center;gap:12px;justify-content:space-between}
#tab-admin .adminWalkRoster li strong{font-size:15px;font-weight:700}
#tab-admin .adminTag,#tab-admin .adminMeetupFlag{font-size:12px;font-weight:650;line-height:1.4;padding:5px 9px;white-space:normal;text-align:center;background:#edf0e8}
#tab-admin .adminTag.warn{background:#fff0cc;color:#785915}
#tab-admin .adminTag.danger{background:#fbe0d7;color:#873c2d}
#tab-admin .adminWalkCancel{background:transparent;border:1px solid #e9c5b4;color:#924326;border-radius:10px;font-size:14px;padding:11px 14px;min-height:44px;margin-top:12px}
#tab-admin .adminDetails>summary{padding:0;align-items:center;gap:14px;cursor:pointer;min-height:48px}
#tab-admin .adminDetails>summary::after{font-size:21px;color:var(--admin-muted)}
#tab-admin .adminDetails[open]>summary{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--admin-border)}
#tab-admin .adminEmpty{background:#f4f6f1;color:var(--admin-muted);font-size:14px;font-weight:550;line-height:1.6;border-radius:12px;padding:18px}
#tab-admin .adminItem{border:1px solid var(--admin-border);background:#fff;border-radius:12px;padding:16px;gap:10px}
#tab-admin .adminItem strong{font-size:16px;line-height:1.4}
#tab-admin .adminItem small,#tab-admin .adminItemMeta,#tab-admin .adminItemText{font-size:14px;line-height:1.55;overflow-wrap:anywhere}
#tab-admin .adminItemActions button,#tab-admin .adminSearchForm button,#tab-admin .adminSpotFormActions button,#tab-admin .adminSpotsIntro button,#tab-admin .adminManualMessage button,#tab-admin .adminTestCleanupActions button{font-size:14px;padding:12px 15px;border-radius:10px;min-height:44px}
#tab-admin input:not([type="checkbox"]):not([type="hidden"]),#tab-admin textarea,#tab-admin select{font-size:16px;line-height:1.4;padding:12px 14px;border:1px solid #ccd5c4;border-radius:10px;min-width:0;background:#fff}
#tab-admin .adminMeetupPicker{font-size:14px;gap:8px;margin-top:20px}
#tab-admin .adminMeetupSummary{gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}
#tab-admin .adminMeetupMetric{padding:12px;background:#f4f6f1;border-radius:10px}
#tab-admin .adminMeetupMetric b{font-size:24px}
#tab-admin .adminMeetupMetric span{font-size:13px;line-height:1.4;font-weight:600}
#tab-admin .adminMeetupPersonMeta,#tab-admin .adminMeetupCheck,#tab-admin .adminMeetupPhotoNo{font-size:14px;line-height:1.55}
#tab-admin #adminSt2Reminder,#tab-admin .adminMeetupDetails>button{font-size:14px;min-height:44px;padding:12px 14px;background:#304626;color:white;border:0;border-radius:10px}
#tab-admin .adminMeetupCheck input{width:20px;height:20px;accent-color:#304626}
#tab-admin .adminCityName strong{font-size:16px}
#tab-admin .adminCityName small,#tab-admin .adminCityMetric span{font-size:13px;line-height:1.5}
#tab-admin .adminCityMetric b{font-size:22px}
#tab-admin .adminReviewOverview b{font-size:30px}
#tab-admin .adminReviewOverview span,#tab-admin .adminSpotsIntro p,#tab-admin .adminSpotGrid label,#tab-admin .adminSpotPublish,#tab-admin .adminSpotPhotoField small,#tab-admin .adminContactLine,#tab-admin .adminManualMessage p{font-size:14px;line-height:1.55}
#tab-admin .adminState{font-size:16px;line-height:1.5;padding:28px;background:#fff;border:1px solid var(--admin-border);border-radius:16px}
@media(min-width:760px){#tab-admin .adminEvents,#tab-admin .adminWalks{grid-template-columns:repeat(2,minmax(0,1fr))}#tab-admin .adminSearchForm{max-width:650px}}
@media(max-width:580px){
 #tab-admin .adminScreenHead{padding:14px 0 22px}
 #tab-admin .adminScreenHead h2{font-size:27px;max-width:245px}
 #tab-admin .miniAction{padding:10px 12px}
 #tab-admin .adminStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 #tab-admin .adminStat{min-height:96px;padding:16px}
 #tab-admin .adminNav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
 #tab-admin .adminNav button{padding:12px 5px;font-size:14px;white-space:normal}
 #tab-admin .adminCard{padding:18px;border-radius:16px}
 #tab-admin .adminCardHead h3,#tab-admin .adminDetails summary strong{font-size:19px}
 #tab-admin .adminEventCard,#tab-admin .adminWalkCard{padding:15px}
 #tab-admin .adminEventMetrics{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
 #tab-admin .adminEventHead{flex-wrap:wrap}
 #tab-admin .adminMeetupSummary{grid-template-columns:repeat(2,minmax(0,1fr))}
 #tab-admin .adminSearchForm{flex-wrap:wrap}
 #tab-admin .adminSearchForm input{flex:1 1 180px;width:100%}
 #tab-admin .adminItemTop{flex-wrap:wrap}
}
