.pjm-campus-push-device-actions { display:flex;flex-wrap:wrap;gap:8px;margin:16px 0; }
.pjm-campus-push-device-actions .btn { min-height:44px;white-space:normal; }
.pjm-campus-push-settings .pjm-settings-row { gap:12px; }
.pjm-campus-push-settings .pjm-settings-row > span { min-width:0; }
.pjm-campus-push-settings input[type=number] { width:80px;flex:0 0 80px; }
.pjm-campus-push-quiet { display:grid;grid-template-columns:repeat(2,minmax(0,160px));gap:12px;margin:12px 0 20px; }
.pjm-campus-push-quiet label { display:grid;gap:6px;min-width:0; }
.pjm-campus-push-quiet input { width:100%;min-width:0;box-sizing:border-box; }
.pjm-campus-push-message { overflow-wrap:anywhere; }
@media (max-width: 820px) {
    .pjm-campus-push-device-actions { display:grid;grid-template-columns:minmax(0,1fr); }
    .pjm-campus-push-settings .pjm-settings-row small { display:block;line-height:1.5;margin-top:4px; }
    body.pjm-campus-app-shell { margin:0; }
    .pjm-campus-app-shell .pjm-ca { width:100%!important;max-width:100%;margin:0;padding:0 10px calc(84px + env(safe-area-inset-bottom))!important;box-sizing:border-box; }
    .pjm-campus-app-shell .pjm-ca__top { width:100%!important;margin:0!important;padding:10px 8px;gap:6px;box-sizing:border-box; }
    .pjm-campus-app-shell .pjm-ca__brand { min-width:0;gap:8px; }
    .pjm-campus-app-shell .pjm-ca__brand-logo { width:32px;height:32px;flex:0 0 32px; }
    .pjm-campus-app-shell .pjm-ca__brand-text { min-width:0; }
    .pjm-campus-app-shell .pjm-ca__brand-text strong { display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
    .pjm-campus-app-shell .pjm-ca__meta { display:flex!important;flex:none;gap:4px; }
    .pjm-campus-app-shell :is(.pjm-ca__push-btn,.pjm-ca__user,.pjm-ca__user-menu) { width:44px;height:44px;flex:0 0 44px;box-sizing:border-box; }
    .pjm-campus-app-shell :is(.pjm-ca__frame,.pjm-ca__stage,.pjm-ca__main,.pjm-ca-panel) { min-width:0;max-width:100%;box-sizing:border-box; }
    .pjm-campus-app-shell .pjm-ca__main { padding:16px 0 24px!important; }
    .pjm-campus-app-shell .pjm-ca-hero { min-height:0!important;margin:0 0 16px!important;padding:16px!important;border-radius:8px!important;gap:12px; }
    .pjm-campus-app-shell .pjm-ca-hero h1 { font-size:24px;line-height:1.3;margin:6px 0;overflow-wrap:anywhere; }
    .pjm-campus-app-shell .pjm-ca-hero__lead { font-size:14px;line-height:1.5;margin:6px 0; }
    .pjm-campus-app-shell .pjm-ca-hero__actions { display:flex;flex-wrap:wrap;width:100%;gap:8px;margin:0; }
    .pjm-campus-app-shell .pjm-ca-hero__actions > :is(button,a) { flex:1 1 130px;min-width:0;min-height:44px;padding:10px 12px;font-size:14px; }
    .pjm-campus-app-shell .pjm-uni-card { min-width:0;padding:14px;margin-top:0;border-radius:8px; }
    .pjm-campus-app-shell .pjm-uni-card__head { flex-wrap:wrap;gap:6px; }
    .pjm-campus-app-shell .pjm-uni-card__head p { margin:0;font-size:12px; }
    .pjm-campus-app-shell .pjm-uni-card__tabs { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px; }
    .pjm-campus-app-shell .pjm-uni-card__tab { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:64px;padding:8px 2px;font-size:12px;white-space:normal; }
    .pjm-campus-app-shell .pjm-uni-card__toolbar { display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:stretch; }
    .pjm-campus-app-shell .pjm-uni-card__toolbar > :is(a,button) { width:100%;justify-content:center; }
    .pjm-campus-app-shell .pjm-ca-dept-filter { min-width:0;width:100%; }
    .pjm-campus-app-shell .pjm-campus-student-tabs { display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:12px 0 16px; }
    .pjm-campus-app-shell .pjm-campus-student-tab { min-width:0;min-height:44px;padding:8px;font-size:13px;white-space:normal;line-height:1.3; }
    .pjm-campus-app-shell .pjm-campus-cadre-shortcut { margin:0 0 12px; }
    .pjm-campus-app-shell .pjm-campus-cadre-shortcut button { width:100%;min-height:44px;padding:10px 12px;font-size:14px; }
    .pjm-campus-app-shell .pjm-campus-student-panel > .pjm-campus-card { padding:14px!important; }
    .pjm-campus-app-shell .pjm-campus-kpi-grid { gap:8px!important;margin:12px 0!important; }
    .pjm-campus-app-shell .pjm-campus-dashboard-compact .pjm-campus-kpi-card { display:grid!important;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-height:88px;padding:10px!important; }
    .pjm-campus-app-shell .pjm-campus-kpi-card__icon { width:28px;height:28px;padding:0;font-size:24px; }
    .pjm-campus-app-shell .pjm-campus-kpi-card__label { font-size:11px!important;line-height:1.35;text-transform:none;overflow-wrap:anywhere; }
    .pjm-campus-app-shell .pjm-campus-kpi-card strong { margin:4px 0 0;font-size:22px; }
    .pjm-campus-app-shell .pjm-campus-compact-columns { gap:12px;margin-top:12px; }
    .pjm-campus-app-shell .pjm-campus-compact-columns h2 { font-size:19px;line-height:1.4; }
    .pjm-campus-app-shell .pjm-campus-month-daylist { margin-top:16px!important; }
    .pjm-campus-app-shell .pjm-campus-month-daylist .pjm-campus-class-face--small { display:flex!important;flex-direction:column;gap:6px; }
    .pjm-campus-app-shell .pjm-campus-month-daylist .pjm-campus-day__headline { display:flex!important;flex-direction:row;flex-wrap:wrap;gap:6px!important; }
    .pjm-campus-app-shell .pjm-campus-month-daylist .pjm-campus-day__place { display:flex!important;flex-wrap:wrap;gap:4px;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere; }
    .pjm-campus-app-shell .pjm-campus-month-daylist :is(.pjm-campus-place-link,.pjm-campus-address) { min-width:0;max-width:100%;white-space:normal!important;overflow:visible!important;text-overflow:clip!important; }
    .pjm-campus-app-shell .pjm-ca__mobile-nav { z-index:110!important; }
    .pjm-campus-app-shell #pjm-cookie { z-index:100010!important;bottom:0!important;max-height:calc(100dvh - 16px);overflow:auto; }
    .pjm-campus-app-shell #pjm-cookie .pjm-cookie-inner { display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:16px 16px calc(16px + env(safe-area-inset-bottom)); }
    .pjm-campus-app-shell #pjm-cookie .pjm-cookie-text { min-width:0; }
    .pjm-campus-app-shell #pjm-cookie .pjm-cookie-actions { display:grid;grid-template-columns:minmax(0,1fr);gap:8px; }
    .pjm-campus-app-shell #pjm-cookie .pjm-cookie-btn { min-height:44px;border-radius:6px; }
}
