/* RL67 4.792 — shared layout, loaded after all role themes. */
html body #main.design249 .instructor-group-list{gap:6px!important}
html body #main.design249 .instructor-group-card{padding:5px 8px!important;border-left-width:2px!important;border-radius:4px!important;line-height:1.3!important}
html body #main.design249 .instructor-group-card strong{font-size:13px!important;line-height:1.3!important;font-weight:600!important}
html body #main.design249 .instructor-group-card small{font-size:12px!important;line-height:1.3!important;margin-top:2px!important}
html body #dialog.instructor-ledger-dialog755 .ledger-period114{align-items:flex-end!important}
html body #dialog.instructor-ledger-dialog755 .ledger-period114>label{margin-bottom:0!important}
html body #dialog.instructor-ledger-dialog755 .ledger-period114 button{height:44px!important;min-height:44px!important;align-self:flex-end!important;margin:0!important}
html body #dialog.instructor-ledger-dialog755 .ledger-period114 select{height:44px!important;min-height:44px!important;margin-bottom:0!important}
html body #dialog.instructor-message767 .message-head767 h2{border:0!important;box-shadow:none!important}
html body #main #general-content details:not([open])>summary .field-add-header761{display:none!important}
html body #main #general-content details:not([open]):has(.field-add-header761)>summary.settings-summary678{grid-template-columns:22px minmax(0,1fr) 22px!important}
html body #main #general-content details:not([open]):has(.field-add-header761)>summary.settings-summary678:after{grid-column:3!important}
.mobile-bar789,.mobile-backdrop789{display:none}
.scroll-table789{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
.scroll-table789:focus-visible{outline:3px solid #245d9c;outline-offset:2px}
@media(max-width:900px){
 html{zoom:1!important}
 html body{min-width:0!important;font-size:14px;-webkit-text-size-adjust:100%}
 html body #shell,html body #master-shell479{min-height:100dvh!important;display:block!important}
 html body #shell[hidden],html body #master-shell479[hidden]{display:none!important}
 html body #shell>aside,html body #master-shell479>aside{position:fixed!important;inset:0 auto 0 0!important;width:min(290px,86vw)!important;height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;padding:22px 16px!important;transform:translateX(-105%);z-index:1100!important;visibility:hidden;box-shadow:8px 0 24px #0003}
 html body.menu-open789 #shell>aside,html body.menu-open789 #master-shell479>aside{transform:translateX(0);visibility:visible}
 html body.menu-open789{overflow:hidden}
 html body .workspace,html body .master-workspace479{margin-left:0!important;width:100%!important;min-width:0!important}
 html body #shell .workspace>header,html body #master-shell479 .master-workspace479>header{height:auto!important;min-height:64px!important;padding:10px 16px!important;gap:10px;flex-wrap:wrap}
 html body #main,html body #master-main479{padding:20px 14px!important;width:100%!important;min-width:0!important;max-width:100%!important}
 html body .mobile-bar789{display:flex;align-items:center;gap:12px;background:#0b2029;color:#fff;padding:8px 14px;min-height:58px}
 .mobile-bar789 button{background:transparent;color:#fff;border:1px solid #628096;min-width:44px;min-height:44px;border-radius:5px;padding:8px;font-size:22px}
 .mobile-bar789 strong{font-size:17px}
 html body.menu-open789 .mobile-backdrop789{display:block;position:fixed;inset:0;z-index:1099;background:#071a29aa;border:0;border-radius:0;width:100%;height:100%;padding:0}
 html body aside nav button{min-height:44px!important}
 html body :is(.page-heading,.master-heading479){flex-wrap:wrap;gap:12px!important;align-items:flex-start!important}
 html body :is(.page-heading,.master-heading479) h1{font-size:26px!important;letter-spacing:-.4px;overflow-wrap:anywhere}
 html body :is(.actions,.actions479,.toolbar,.family-actions,.settings-team-actions597){flex-wrap:wrap;max-width:100%;min-width:0}
 html body :is(.form-grid,.form-grid479,.filter-grid,.family-summary,.settings-grid,.plans-grid483,.sms-packs-grid696,.groups-grid62,.locations-grid62,.approval-grid401,.identity-fields662){grid-template-columns:minmax(0,1fr)!important;min-width:0!important}
 html body :is(.stats,.participant-stats,.task-stats){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body #main :is(.panel,.program-panel141,.settings-panel66),html body #master-main479 .panel479{min-width:0!important;max-width:100%;}
 html body :is(input,select,textarea){font-size:16px!important;max-width:100%;min-width:0}
 html body button,html body a.primary{min-height:44px}
 html body :is(input[type=checkbox],input[type=radio]){width:20px;min-width:20px;height:20px}
 html body .table-wrap{max-width:100%!important;overflow-x:auto!important;min-width:0!important}
 html body table{max-width:none}
 html body table.mobile-cards789{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate;table-layout:auto!important}
 html body table.mobile-cards789>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html body table.mobile-cards789>tbody{display:block}
 html body table.mobile-cards789>tbody>tr{display:block;border:1px solid #d5e1ed;margin:10px 0;border-radius:6px;background:#fff;overflow:hidden}
 html body table.mobile-cards789>tbody>tr>td{display:block!important;width:100%!important;border:0!important;padding:10px 12px!important;text-align:left!important;min-width:0;overflow-wrap:anywhere}
 html body table.mobile-cards789>tbody>tr>td[data-label789]:before{content:attr(data-label789);display:block;font-weight:600;color:#526b82;font-size:12px;margin-bottom:5px}
 html body table.mobile-cards789 .table-cell-center669{text-align:left!important}
 html body table.mobile-cards789 .instructor-group-list{display:flex!important;flex-wrap:wrap;justify-content:flex-start!important;gap:6px!important}
 html body table.mobile-cards789 .instructor-group-card{margin:0!important;text-align:left!important;max-width:100%}
 html body .instructor-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 html body :is(#dialog,dialog)[open]{width:calc(100% - 16px)!important;min-width:0!important;max-width:calc(100% - 16px)!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;border-radius:6px!important}
 html body :is(#dialog,dialog) #dialog-body{min-width:0!important;max-width:100%!important;max-height:calc(100dvh - 20px)!important}
 html body :is(#dialog,dialog) :is(.form-grid,.form-grid479,.identity-fields662,.approval-layout401,.ledger-range114){grid-template-columns:minmax(0,1fr)!important}
 html body :is(#dialog,dialog) :is(.modal-head446,.recurring-head418,.message-head767,.identity-head785,.reception-head776){padding:14px!important;gap:10px!important}
 html body :is(#dialog,dialog) h2{font-size:17px!important;overflow-wrap:anywhere}
 html body :is(#dialog,dialog) :is(.message-scroll767,.ledger-scroll755,.identity-scroll785){padding:16px!important;min-height:0;overflow:auto}
 html body :is(#dialog,dialog) :is(.form-footer479,.message-footer767,.ledger-footer768,.location-footer736,.identity-footer785){padding:12px 14px!important;flex-wrap:wrap!important;gap:8px!important}
 html body :is(#dialog,dialog) textarea{min-height:130px!important;max-height:32dvh}
 html body .ledger-period114{flex-wrap:wrap!important}
 html body .ledger-period114>label{flex-basis:100%!important}
 html body .ledger-buckets113{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 html body :is(.support-tabs501,.settings-tabs,.settings-tabs123){max-width:100%;overflow-x:auto;flex-wrap:nowrap}
 html body .support-tabs501 button{flex-shrink:0}
 html body .calendar54-controls,html body .calendar54-filters{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
 html body .calendar54-period,html body .calendar54-navigation{display:flex;flex-wrap:wrap;min-width:0;max-width:100%;gap:8px}
 html body .calendar54-period input{flex:1;min-width:130px;width:auto}
 html body .calendar54-navigation strong{flex:1;min-width:110px;font-size:14px!important;text-align:center}
 html body .calendar54-week{display:flex!important;flex-direction:column!important;min-width:0!important;gap:12px!important}
 html body .calendar54-day247{width:100%!important;min-width:0!important}
 html body .calendar54-day-body247{min-height:0!important}
 html body .calendar54-scroll{max-width:100%;overflow-x:auto}
 html body .calendar54-month{min-width:760px}
 html body .calendar54-event{min-height:44px;text-align:left}
 html body .login-screen:not([hidden]){display:block!important;min-height:100dvh!important}
 html body .login-story{padding:22px!important;min-height:0!important}
 html body .login-story .brand img{max-width:145px!important}
 html body .login-story .eyebrow,html body .login-story .dance-art,html body .login-story>small,html body .login-story>p,html body .login-story>h1{display:none!important}
 html body .login-box{width:auto!important;max-width:460px;margin:0 auto!important;padding:28px 22px!important}
 html body .role-buttons{display:grid!important;grid-template-columns:1fr 1fr!important}
 html body .master-login479{width:calc(100% - 24px)!important;min-width:0!important;grid-template-columns:1fr!important;margin:20px auto!important;min-height:0!important}
 html body .master-login-story479{padding:22px!important;min-height:0!important}
 html body .master-login-story479 :is(h1,p,.master-art519){display:none!important}
 html body .master-login-story479>img{width:145px!important}
 html body .master-login-form479{padding:24px!important}
 html body footer{padding:14px!important;gap:10px;flex-wrap:wrap}
}
@media(max-width:480px){
 html body :is(.stats,.participant-stats,.task-stats){grid-template-columns:minmax(0,1fr)!important}
 html body #main .instructor-actions{grid-template-columns:1fr!important}
 html body :is(#dialog,dialog) .ledger-buckets113{grid-template-columns:1fr 1fr!important}
 html body .ledger-bucket113{padding:10px!important}
 html body .ledger-bucket113 strong{font-size:23px!important}
 html body .settings-summary678{padding:16px 14px!important}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:900px){
 html body #main :is(.groups62-filters,.groups62-location-grid,.groups62-cards,.member-account295,.member-contact295,.member-fields295,.settings-grid644,.settings-links644,.program-fields141,.program-grid141,.filter-grid,.form-grid,.reception-grid477),
 html body #master-main479 :is(.settings-top597,.master-account492 .account-content492,.form-grid479,.stats479,.overview-grid497),
 html body :is(#dialog,dialog) :is(.recovery-columns782,.recovery-grid782,.subscription-dialog546,.subscription-summary546 dl,#sub-quote541:not(:empty),.approval-grid401){grid-template-columns:minmax(0,1fr)!important;min-width:0!important}
 html body #main :is(.groups62-filter,.groups62-title){min-width:0!important}
 html body #main :is(.groups62-bar,.settings-section-head678,.section-head680){flex-wrap:wrap!important;height:auto!important;gap:10px!important}
 html body #main :is(.groups62-bar,.settings-section-head678) :is(select,button){max-width:100%}
 html body .registration-page{width:100%!important;max-width:100%!important;padding:22px 14px!important}
 html body #register-form :is(.form-grid,.registration-grid,.fields,.participant-fields){grid-template-columns:minmax(0,1fr)!important}
 html body .public-main605{padding:20px 14px!important}
 html body .course605,html body .course605.no-location622,html body .course605.no-price622{grid-template-columns:88px minmax(0,1fr)!important;gap:12px!important;padding:16px 12px!important}
 html body .course-time605{grid-column:1;grid-row:1;min-width:0}
 html body .course-time605 strong{font-size:16px!important;white-space:normal!important}
 html body .course-name605{grid-column:2;grid-row:1;padding-left:12px!important}
 html body .course-name605 h2{font-size:17px!important}
 html body :is(.course-location605,.course-price605,.course-action611){grid-column:2!important;min-width:0}
 html body .course-action611 a{display:inline-flex;min-height:44px;align-items:center;justify-content:center}
 html body .filters605{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:900px){html body.master-signin512{min-height:100dvh!important} html body :is(#shell,#master-shell479)[hidden]{display:none!important}}

/* 4.792: three-column instructors list and consistent message spacing. */
@media(min-width:901px){
 html body #main.design249 table.instructors-compact790{min-width:740px!important}
 html body #main.design249 .instructors-compact790 :is(th,td):nth-child(1){width:34%!important;text-align:left!important}
 html body #main.design249 .instructors-compact790 :is(th,td):nth-child(2){width:22%!important;text-align:center!important}
 html body #main.design249 .instructors-compact790 :is(th,td):nth-child(3){width:44%!important;text-align:center!important}
 html body #main.design249 .instructors-compact790 .instructor-phone{justify-content:center}
}
html body #dialog.instructor-message767 #instructor-message-form115{padding:0!important;gap:0!important;border:0!important;background:#fff!important}
html body #dialog.instructor-message767 .message-scroll767{padding:20px 24px!important;gap:20px!important;align-content:start}
html body #dialog.instructor-message767 .instructor-message-contact115{margin:0!important}
html body #dialog.instructor-message767 #instructor-message-form115 .form-grid{padding:16px!important;margin:0!important;background:#eaf0f6!important;border:1px solid #d5e1ed!important;border-radius:6px;gap:16px!important}
html body #dialog.instructor-message767 .message-scroll767 label{margin:0!important;padding:0!important;min-width:0}
html body #dialog.instructor-message767 .message-scroll767 :is(input,select,textarea){width:100%;box-sizing:border-box}
@media(max-width:900px){
 html body #dialog.instructor-message767 .message-scroll767{padding:16px!important;gap:16px!important}
 html body #dialog.instructor-message767 #instructor-message-form115 .form-grid{grid-template-columns:minmax(0,1fr)!important}
}

/* 4.792: location deletion actions share one footer. */
html body #dialog.location-delete791>#dialog-close,html body #dialog.location-delete791>form{display:none!important}
html body #dialog.location-delete791 .location-delete-actions791{display:flex!important;justify-content:flex-end!important;align-items:center;gap:10px!important;flex-wrap:wrap;padding:16px 0 0!important;margin:16px 0 0!important;border:0!important}
html body #dialog.location-delete791 .location-delete-actions791 button{margin:0!important;min-height:44px;text-decoration:none!important;width:auto!important}

/* 4.792: keep location editor actions together. */
html body #dialog.location-modal410 #location-edit194>footer{justify-content:flex-end!important;gap:10px!important}
html body #dialog.location-modal410 #location-edit194>footer>button{margin:0!important}
html body #dialog.location-modal410 #location-edit194>footer>button.location-delete410{margin-right:0!important}

/* 4.792: group deletion matches location confirmation. */
html body #dialog.group-delete791>#dialog-close,html body #dialog.group-delete791>form{display:none!important}
html body #dialog.group-delete791 .group-delete-actions791{display:flex!important;justify-content:flex-end!important;align-items:center;gap:10px!important;flex-wrap:wrap;padding:16px 0 0!important;margin:16px 0 0!important;border:0!important}
html body #dialog.group-delete791 .group-delete-actions791 button{margin:0!important;min-height:44px;width:auto!important;text-decoration:none!important}
html body #dialog.group-delete791 #group-delete-confirm197{background:#fceef0!important;color:#b5314a!important;border:1px solid #efbdc8!important}

/* 4.792: responsive display rules must respect authenticated visibility. */
html body #login[hidden],html body #master-login479[hidden]{display:none!important}

/* 4.792: override the legacy horizontal phone navigation. */
@media(max-width:900px){
 html body :is(#shell,#master-shell479)>aside nav{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;overflow:visible!important;gap:6px!important;width:100%!important;min-width:0!important;margin-top:16px}
 html body :is(#shell,#master-shell479)>aside nav button,html body :is(#shell,#master-shell479)>aside nav a{width:100%!important;min-width:0!important;max-width:100%!important;flex:0 0 auto;justify-content:flex-start!important;white-space:normal!important;text-align:left;overflow-wrap:anywhere;min-height:44px!important;padding:10px 12px!important;gap:10px!important}
 html body :is(#shell,#master-shell479)>aside .sidebar-bottom,html body :is(#shell,#master-shell479)>aside .master-sidebar-bottom479{display:block!important;flex-shrink:0;margin-top:auto;padding-top:16px}
 html body :is(#shell,#master-shell479)>aside .brand img{max-width:100%!important;height:auto}
}

/* 4.792: a single compact phone header with the real logo. */
@media(max-width:900px){
 html body #shell .workspace>header,html body #master-shell479 .master-workspace479>header{display:flex!important;flex-wrap:nowrap!important;justify-content:space-between!important;min-height:64px!important;height:auto!important;padding:8px 12px!important;gap:12px!important;box-sizing:border-box}
 html body :is(#shell,#master-shell479) header>.mobile-bar789{display:flex!important;flex:0 0 auto!important;align-items:center;gap:10px!important;min-height:44px!important;margin:0 auto 0 0!important;padding:0!important;background:transparent!important}
 html body .mobile-logo791{display:block;width:88px!important;height:38px!important;object-fit:contain;flex:none}
 html body .mobile-bar789 button{width:44px;min-width:44px;min-height:44px;margin:0!important;padding:6px!important}
 html body #shell .workspace>header>#breadcrumb{display:none!important}
 html body #shell .workspace>header>div:not(.mobile-bar789),html body #master-shell479 .master-workspace479>header>div:not(.mobile-bar789){min-width:0!important;display:flex;align-items:center;justify-content:flex-end;gap:10px!important;margin:0!important}
 html body #user-name{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 html body #master-profile479{min-width:44px;max-width:160px;overflow:hidden}
 html body #master-account479{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(max-width:480px){html body #user-name,html body #master-account479{display:none!important}}

/* 4.792: close controls respect the active input method. */
html:not(.keyboard-focus791) body dialog header button[aria-label^="Zamknij"]:focus{outline:none!important;box-shadow:none!important}
html.keyboard-focus791 body dialog header button[aria-label^="Zamknij"]:focus-visible{outline:2px solid #a9e6f6!important;outline-offset:3px!important}

/* 4.792: tenant location art scales its strokes with the thumbnail. */
@media(max-width:900px){
 html body #main #room-booking342 .rb-locations353 button.rb-city-card362{grid-template-columns:minmax(0,1fr) 96px!important;gap:8px 12px!important;padding:16px!important;min-height:96px}
 html body #main #room-booking342 .rb-city-card362>strong{min-width:0;overflow-wrap:anywhere;font-size:17px!important;line-height:1.35}
 html body #main #room-booking342 .rb-city-card362>span{font-size:14px!important;line-height:1.4}
 html body #main #room-booking342 .rb-locations353 button .rb-city-outline362{width:96px!important;max-width:100%!important;height:44px!important;opacity:.85!important;color:#245d9c!important;align-self:center}
 html body #main #room-booking342 .rb-city-outline362 path{vector-effect:none!important}
 html body #main #room-booking342 .rb-locations353 button.selected .rb-city-outline362{color:#fff!important;opacity:1!important}
}
@media(max-width:360px){html body #main #room-booking342 .rb-locations353 button.rb-city-card362{grid-template-columns:minmax(0,1fr) 72px!important}html body #main #room-booking342 .rb-locations353 button .rb-city-outline362{width:72px!important;height:36px!important}}

/* 4.795: desktop header rules must not expose the mobile menu and logo.
   This is the complement of the existing mobile breakpoint (including
   fractional viewport widths); the mobile rules below stay unchanged. */
@media not all and (max-width:900px){
 html body :is(#shell,#master-shell479) .mobile-bar789,
 html body :is(#shell,#master-shell479) .mobile-backdrop789{display:none!important}
}

/* Instructor calendar on phones: compact period controls and centered content. */
@media(max-width:900px){
 html body #main.design249[data-design-role249="instructor"] .calendar54-scroll>.design-added-bar249{
  display:grid!important;grid-template-columns:22px minmax(0,1fr) 22px;
  align-items:center;gap:10px;padding:14px;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-scroll>.design-added-bar249>.design-title249{
  display:block;min-width:0;text-align:center;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-period{
  display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:8px;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-period>:is(button,input){
  box-sizing:border-box!important;width:100%;min-width:0;
  height:44px!important;min-height:44px!important;max-height:44px!important;
  padding:8px 10px!important;margin:0;line-height:26px;border-radius:5px;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-period>input{
  -webkit-appearance:none;appearance:none;font-size:16px!important;text-align:center;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-period>input::-webkit-datetime-edit{
  padding:0;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-period>input::-webkit-date-and-time-value{
  text-align:center;margin:0;line-height:26px;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-event{
  align-items:center;text-align:center;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-event>:is(b,strong,small,span){
  text-align:center;max-width:100%;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-event .calendar-status449{
  justify-content:center;
 }
 html body #main.design249[data-design-role249="instructor"] .calendar54-time-label247{
  text-align:center;
 }
}
