/* ===== RESPONSIVE_LAYOUT ===== */

.layout-selector-shell {
    position: fixed;
    top: 18px;
    right: 18px;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 10px;
}

body.page-editor .layout-selector-shell {
    top: 76px;
}

.layout-selector-toggle {
    border: 1px solid rgba(212, 175, 55, 0.42);
    background: rgba(12, 16, 24, 0.9);
    color: #f3df9a;
    border-radius: 999px;
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(10px);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
}

.layout-selector-toggle:hover {
    background: rgba(14, 18, 28, 0.96);
}

.layout-selector-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.16);
    color: #f3df9a;
    font-size: 16px;
    line-height: 1;
}

.layout-selector-panel {
    display: none;
    width: 248px;
    padding: 14px;
    border-radius: 18px;
    border: 1px solid rgba(212, 175, 55, 0.22);
    background: rgba(10, 14, 21, 0.94);
    box-shadow: 0 22px 50px rgba(0, 0, 0, 0.32);
    color: #f6e7b2;
}

.layout-selector-panel.is-open {
    display: block;
}

.layout-selector-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 4px;
}

.layout-selector-subtitle {
    font-size: 12px;
    line-height: 1.5;
    color: rgba(246, 231, 178, 0.82);
    margin-bottom: 10px;
}

.layout-selector-choices {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.layout-selector-choice {
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid rgba(212, 175, 55, 0.2);
    background: rgba(255, 255, 255, 0.05);
    color: #f6e7b2;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    padding: 0 10px;
    cursor: pointer;
    text-align: left;
    font-size: 13px;
}

.layout-selector-choice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.14);
    color: #f3df9a;
    font-size: 13px;
    line-height: 1;
}

.layout-selector-choice.is-active {
    background: linear-gradient(135deg, rgba(202, 167, 77, 0.22), rgba(242, 210, 122, 0.1));
    border-color: rgba(242, 210, 122, 0.34);
}

.mobile-home-panel {
    display: none;
}

body.layout-mobile .mobile-home-panel {
    display: block;
    padding: 22px 18px;
    border-radius: 22px;
    border: 1px solid rgba(212, 175, 55, 0.24);
    background: linear-gradient(180deg, rgba(14, 18, 28, 0.94), rgba(10, 14, 21, 0.96));
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.34);
}

body.layout-mobile.page-dashboard-department .dashboard-software,
body.layout-mobile.page-dashboard-staff .dashboard-software,
body.layout-mobile.page-staff .dashboard-software,
body.layout-mobile.page-ferias .dashboard-software,
body.layout-mobile.page-baixas .dashboard-software,
body.layout-mobile.page-historico .dashboard-software,
body.layout-mobile.page-exportar .dashboard-software,
body.layout-mobile.page-relatorios-departamento .dashboard-software,
body.layout-mobile.page-backups-hotel .dashboard-software,
body.layout-mobile.page-relatorios-hotel .dashboard-software {
    display: block;
}

body.layout-mobile.page-portal-admin .dashboard-software,
body.layout-mobile.page-dashboard-hotel .dashboard-software,
body.layout-mobile.page-utilizadores-superadmin .dashboard-software,
body.layout-mobile.page-perfis-superadmin .dashboard-software,
body.layout-mobile.page-utilizadores-hotel .dashboard-software,
body.layout-mobile.page-utilizadores-departamento .dashboard-software {
    display: block;
}

body.layout-mobile.page-dashboard-department .sidebar,
body.layout-mobile.page-dashboard-staff .sidebar,
body.layout-mobile.page-staff .sidebar,
body.layout-mobile.page-ferias .sidebar,
body.layout-mobile.page-baixas .sidebar,
body.layout-mobile.page-historico .sidebar,
body.layout-mobile.page-exportar .sidebar,
body.layout-mobile.page-relatorios-departamento .sidebar,
body.layout-mobile.page-backups-hotel .sidebar,
body.layout-mobile.page-relatorios-hotel .sidebar,
body.layout-mobile.page-utilizadores-superadmin .sidebar,
body.layout-mobile.page-perfis-superadmin .sidebar,
body.layout-mobile.page-utilizadores-hotel .sidebar,
body.layout-mobile.page-utilizadores-departamento .sidebar {
    display: none;
}

body.layout-mobile.page-portal-admin .sidebar,
body.layout-mobile.page-dashboard-hotel .sidebar {
    display: none;
}

body.layout-mobile.page-dashboard-department .main-content,
body.layout-mobile.page-dashboard-staff .main-content,
body.layout-mobile.page-staff .main-content,
body.layout-mobile.page-ferias .main-content,
body.layout-mobile.page-baixas .main-content,
body.layout-mobile.page-historico .main-content,
body.layout-mobile.page-exportar .main-content,
body.layout-mobile.page-relatorios-departamento .main-content,
body.layout-mobile.page-backups-hotel .main-content,
body.layout-mobile.page-relatorios-hotel .main-content,
body.layout-mobile.page-utilizadores-superadmin .main-content,
body.layout-mobile.page-perfis-superadmin .main-content,
body.layout-mobile.page-utilizadores-hotel .main-content,
body.layout-mobile.page-utilizadores-departamento .main-content {
    margin-left: 0;
    padding: 16px 14px 120px;
    width: auto;
    min-height: 100vh;
}

body.layout-mobile.page-portal-admin .main-content,
body.layout-mobile.page-dashboard-hotel .main-content {
    margin-left: 0;
    padding: 16px 14px 120px;
    width: auto;
    min-height: 100vh;
}

body.layout-mobile.page-dashboard-department .page-header,
body.layout-mobile.page-dashboard-staff .page-header,
body.layout-mobile.page-staff .page-header,
body.layout-mobile.page-ferias .page-header,
body.layout-mobile.page-baixas .page-header,
body.layout-mobile.page-historico .page-header,
body.layout-mobile.page-exportar .page-header,
body.layout-mobile.page-relatorios-departamento .page-header,
body.layout-mobile.page-backups-hotel .page-header,
body.layout-mobile.page-relatorios-hotel .page-header,
body.layout-mobile.page-utilizadores-superadmin .page-header,
body.layout-mobile.page-perfis-superadmin .page-header,
body.layout-mobile.page-utilizadores-hotel .page-header,
body.layout-mobile.page-utilizadores-departamento .page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

body.layout-mobile.page-dashboard-department .page-header {
    display: none;
}

body.layout-mobile.page-portal-admin .page-header,
body.layout-mobile.page-dashboard-hotel .page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

body.layout-mobile.page-portal-admin .portal-admin-summary-grid,
body.layout-mobile.page-dashboard-hotel .department-overview-grid,
body.layout-mobile.page-utilizadores-hotel .records-table-wrap,
body.layout-mobile.page-utilizadores-superadmin .records-table-wrap,
body.layout-mobile.page-utilizadores-departamento .records-table-wrap,
body.layout-mobile.page-perfis-superadmin .records-table-wrap {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-portal-admin .superadmin-hero-grid,
body.layout-mobile.page-dashboard-hotel .department-overview-hero {
    grid-template-columns: 1fr;
}

body.layout-mobile .hotel-module-context {
    gap: 6px;
}

body.layout-mobile.page-portal-admin .portal-admin-hotels-panel .superadmin-hotels,
body.layout-mobile.page-portal-admin .portal-admin-departments-panel .superadmin-departamentos,
body.layout-mobile.page-dashboard-hotel .hotel-departments-panel .cards,
body.layout-mobile.page-dashboard-hotel .hotel-modules-panel .cards {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-dashboard-hotel .department-card-stats {
    gap: 6px;
}

body.layout-mobile.page-dashboard-hotel .department-card-cta {
    width: 100%;
}

body.layout-mobile.page-portal-admin .superadmin-hotel-card,
body.layout-mobile.page-dashboard-hotel .department-overview-card {
    padding: 18px;
}

body.layout-mobile.page-portal-admin .superadmin-hotel-head {
    flex-direction: column;
    align-items: flex-start;
}

body.layout-mobile.page-dashboard-department .login-alerta,
body.layout-mobile.page-dashboard-department .desktop-months-panel,
body.layout-mobile.page-dashboard-staff .dashboard-staff-cards {
    display: none;
}

body.layout-mobile.page-dashboard-department .mobile-home-panel,
body.layout-mobile.page-dashboard-staff .mobile-home-panel {
    display: block;
}

body.layout-mobile.page-dashboard-department .department-overview-hero {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-dashboard-department .department-overview-grid {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-dashboard-department .department-overview-card {
    min-height: 0;
}

body.layout-mobile.page-dashboard-department .department-overview-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

body.layout-mobile.page-dashboard-department .department-primary-actions,
body.layout-mobile.page-mobile-hoje .department-primary-actions,
body.layout-mobile.page-staff .department-module-header,
body.layout-mobile.page-ferias .department-module-header,
body.layout-mobile.page-baixas .department-module-header,
body.layout-mobile.page-historico .department-module-header,
body.layout-mobile.page-exportar .department-module-header,
body.layout-mobile.page-relatorios-departamento .department-module-header,
body.layout-mobile.page-backups-hotel .hotel-module-header,
body.layout-mobile.page-relatorios-hotel .hotel-module-header {
    padding: 14px;
}

body.layout-mobile.page-dashboard-department .department-primary-actions-grid,
body.layout-mobile.page-mobile-hoje .department-primary-actions-grid {
    grid-template-columns: 1fr;
}

body.layout-mobile .department-module-context {
    gap: 6px;
}

body.layout-mobile .department-module-header .panel-head h3 {
    font-size: 18px;
}

body.layout-mobile .hotel-module-header .panel-head h3 {
    font-size: 18px;
}

body.layout-mobile.page-dashboard-department .department-primary-action,
body.layout-mobile.page-mobile-hoje .department-primary-action {
    min-height: 88px;
}

body.layout-mobile.page-dashboard-department .department-primary-action strong,
body.layout-mobile.page-mobile-hoje .department-primary-action strong {
    font-size: 16px;
}

body.layout-mobile.page-dashboard-department .department-overview-actions .btn-escala {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

body.layout-mobile.page-dashboard-department .mobile-home-header,
body.layout-mobile.page-dashboard-staff .mobile-home-header {
    gap: 16px;
}

body.layout-mobile.page-dashboard-department .mobile-home-title,
body.layout-mobile.page-dashboard-staff .mobile-home-title {
    font-size: 36px;
    line-height: 1;
    margin: 0;
}

body.layout-mobile.page-dashboard-department .mobile-home-subtitle,
body.layout-mobile.page-dashboard-staff .mobile-home-subtitle {
    font-size: 15px;
    line-height: 1.5;
}

body.layout-mobile.page-dashboard-department .mobile-home-actions,
body.layout-mobile.page-dashboard-staff .mobile-home-actions {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-dashboard-department .mobile-home-actions .btn-escala,
body.layout-mobile.page-dashboard-staff .mobile-home-actions .btn-escala {
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

body.layout-mobile.page-portal-admin .page-header .btn-escala,
body.layout-mobile.page-dashboard-hotel .page-header .btn-escala,
body.layout-mobile.page-staff .page-header .btn-escala,
body.layout-mobile.page-ferias .page-header .btn-escala,
body.layout-mobile.page-baixas .page-header .btn-escala,
body.layout-mobile.page-historico .page-header .btn-escala,
body.layout-mobile.page-exportar .page-header .btn-escala,
body.layout-mobile.page-relatorios-departamento .page-header .btn-escala,
body.layout-mobile.page-backups-hotel .page-header .btn-escala,
body.layout-mobile.page-relatorios-hotel .page-header .btn-escala {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

body.layout-mobile.page-portal-admin .panel-card,
body.layout-mobile.page-dashboard-hotel .panel-card,
body.layout-mobile.page-staff .panel-card,
body.layout-mobile.page-ferias .panel-card,
body.layout-mobile.page-baixas .panel-card,
body.layout-mobile.page-historico .panel-card,
body.layout-mobile.page-exportar .panel-card,
body.layout-mobile.page-relatorios-departamento .panel-card,
body.layout-mobile.page-backups-hotel .panel-card,
body.layout-mobile.page-relatorios-hotel .panel-card {
    padding: 16px;
    border-radius: 18px;
}

body.layout-mobile.page-staff .management-grid,
body.layout-mobile.page-ferias .management-grid,
body.layout-mobile.page-baixas .management-grid {
    grid-template-columns: 1fr;
    gap: 16px;
}

body.layout-mobile.page-staff .mobile-inline-actions,
body.layout-mobile.page-ferias .mobile-inline-actions,
body.layout-mobile.page-baixas .mobile-inline-actions,
body.layout-mobile.page-historico .mobile-inline-actions,
body.layout-mobile.page-exportar .mobile-inline-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

body.layout-mobile.page-backups-hotel .panel-grid,
body.layout-mobile.page-relatorios-departamento .panel-grid {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-portal-admin .portal-admin-summary-grid,
body.layout-mobile.page-dashboard-hotel .department-overview-grid,
body.layout-mobile.page-relatorios-hotel .department-overview-grid {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-mobile-hoje .cards,
body.layout-mobile.page-staff .cards,
body.layout-mobile.page-dashboard-hotel .hotel-modules-panel .cards,
body.layout-mobile.page-dashboard-hotel .hotel-departments-panel .cards {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-dashboard-department .department-modules-grid {
    grid-template-columns: 1fr;
    gap: 14px;
}

body.layout-mobile.page-dashboard-department .department-module-card,
body.layout-mobile.page-dashboard-department .department-module-card.is-featured {
    grid-column: span 1;
    min-height: auto;
    padding: 18px;
}

body.layout-mobile.page-portal-admin .superadmin-capacity-grid {
    gap: 6px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-actions {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-actions .btn-escala {
    width: 100%;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-hero,
body.layout-mobile.page-mobile-hoje .mobile-hoje-panel {
    padding-left: 16px;
    padding-right: 16px;
}

body.layout-mobile.page-staff .records-table-wrap,
body.layout-mobile.page-ferias .records-table-wrap,
body.layout-mobile.page-baixas .records-table-wrap,
body.layout-mobile.page-historico .records-table-wrap,
body.layout-mobile.page-exportar .records-table-wrap,
body.layout-mobile.page-relatorios-departamento .records-table-wrap,
body.layout-mobile.page-backups-hotel .records-table-wrap,
body.layout-mobile.page-relatorios-hotel .records-table-wrap,
body.layout-mobile.page-utilizadores-superadmin .records-table-wrap,
body.layout-mobile.page-perfis-superadmin .records-table-wrap,
body.layout-mobile.page-utilizadores-hotel .records-table-wrap,
body.layout-mobile.page-utilizadores-departamento .records-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.layout-mobile.page-staff .records-table,
body.layout-mobile.page-ferias .records-table,
body.layout-mobile.page-baixas .records-table,
body.layout-mobile.page-historico .records-table,
body.layout-mobile.page-exportar .records-table,
body.layout-mobile.page-relatorios-departamento .records-table,
body.layout-mobile.page-backups-hotel .records-table,
body.layout-mobile.page-relatorios-hotel .records-table,
body.layout-mobile.page-utilizadores-superadmin .records-table,
body.layout-mobile.page-perfis-superadmin .records-table,
body.layout-mobile.page-utilizadores-hotel .records-table,
body.layout-mobile.page-utilizadores-departamento .records-table {
    min-width: 720px;
}

body.layout-mobile.page-staff .records-table td,
body.layout-mobile.page-ferias .records-table td,
body.layout-mobile.page-baixas .records-table td,
body.layout-mobile.page-historico .records-table td,
body.layout-mobile.page-exportar .records-table td,
body.layout-mobile.page-relatorios-departamento .records-table td,
body.layout-mobile.page-backups-hotel .records-table td,
body.layout-mobile.page-relatorios-hotel .records-table td,
body.layout-mobile.page-utilizadores-superadmin .records-table td,
body.layout-mobile.page-perfis-superadmin .records-table td,
body.layout-mobile.page-utilizadores-hotel .records-table td,
body.layout-mobile.page-utilizadores-departamento .records-table td {
    white-space: nowrap;
}

body.layout-mobile.page-mobile-hoje .department-primary-action,
body.layout-mobile.page-staff .mobile-inline-actions .btn-escala,
body.layout-mobile.page-ferias .mobile-inline-actions .btn-escala,
body.layout-mobile.page-baixas .mobile-inline-actions .btn-escala,
body.layout-mobile.page-historico .mobile-inline-actions .btn-escala,
body.layout-mobile.page-exportar .mobile-inline-actions .btn-escala {
    min-height: 50px;
}

body.layout-mobile.page-dashboard-department .mobile-turno-summary,
body.layout-mobile.page-dashboard-staff .mobile-turno-summary {
    grid-template-columns: 1fr 1fr;
}

body.layout-mobile.page-dashboard-department .mobile-menu-grid,
body.layout-mobile.page-dashboard-staff .mobile-menu-grid {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-dashboard-department .mobile-menu-card,
body.layout-mobile.page-dashboard-staff .mobile-menu-card {
    min-height: 56px;
    justify-content: flex-start;
    padding: 0 16px;
    font-weight: 700;
}

body.layout-mobile.page-dashboard-department .layout-selector-shell,
body.layout-mobile.page-dashboard-staff .layout-selector-shell {
    left: auto;
    right: 12px;
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    align-items: flex-end;
}

body.layout-mobile.page-dashboard-department .layout-selector-toggle,
body.layout-mobile.page-dashboard-staff .layout-selector-toggle,
body.layout-mobile.page-dashboard-department .layout-selector-panel,
body.layout-mobile.page-dashboard-staff .layout-selector-panel {
    min-width: 0;
}

body.layout-mobile.page-mobile-hoje .layout-selector-shell {
    left: auto;
    right: 12px;
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    align-items: flex-end;
}

body.layout-mobile.page-mobile-hoje .layout-selector-toggle,
body.layout-mobile.page-mobile-hoje .layout-selector-panel {
    min-width: 0;
}

body.layout-mobile .layout-selector-toggle {
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(12px);
    background: rgba(10, 14, 21, 0.68);
    border-color: rgba(212, 175, 55, 0.3);
}

body.layout-mobile .layout-selector-toggle-icon {
    width: 30px;
    height: 30px;
    font-size: 16px;
    background: rgba(212, 175, 55, 0.2);
}

body.layout-mobile .layout-selector-panel {
    width: 220px;
    padding: 14px;
    border-radius: 18px;
    background: rgba(10, 14, 21, 0.9);
    backdrop-filter: blur(14px);
}

body.layout-mobile .layout-selector-title,
body.layout-mobile .layout-selector-subtitle {
    display: none;
}

body.layout-mobile .layout-selector-choices {
    grid-template-columns: 1fr;
    gap: 8px;
}

body.layout-mobile .layout-selector-choice {
    min-height: 46px;
    border-radius: 14px;
    padding: 0 12px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-shell {
    padding: 12px 10px 96px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-hero,
body.layout-mobile.page-mobile-hoje .mobile-hoje-panel {
    background: linear-gradient(180deg, rgba(14, 18, 28, 0.96), rgba(10, 14, 21, 0.98));
    border: 1px solid rgba(212, 175, 55, 0.22);
    border-radius: 24px;
    box-shadow: 0 20px 42px rgba(0, 0, 0, 0.34);
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-hero {
    padding: 16px 14px;
    margin-bottom: 10px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-title {
    margin: 6px 0 4px;
    font-size: 28px;
    line-height: 1.02;
    color: #fff1c2;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-subtitle {
    margin: 0;
    color: rgba(255, 241, 194, 0.78);
    line-height: 1.35;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-date-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 12px;
    padding: 12px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.14);
    border-radius: 16px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-date-card strong {
    font-size: 16px;
    color: #f9e7aa;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-date-card span {
    color: rgba(249, 231, 170, 0.74);
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 10px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-actions .btn-escala {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 13px;
    padding: 0 10px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-actions .btn-escala.is-active {
    background: linear-gradient(135deg, #caa74d, #f2d27a);
    color: #101319;
    border: none;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-panel {
    padding: 14px 12px;
    margin-bottom: 10px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-section-head {
    margin-bottom: 10px;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-section-head h2 {
    margin: 0 0 4px;
    font-size: 18px;
    color: #fff1c2;
}

body.layout-mobile.page-mobile-hoje .mobile-hoje-section-head p {
    margin: 0;
    color: rgba(255, 241, 194, 0.72);
    line-height: 1.35;
}

.mobile-hero-topline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

body.layout-mobile .mobile-hero-topline .mobile-home-kicker {
    margin: 0;
    flex: 1;
}

body.layout-mobile.page-escala-staff .sidebar,
body.layout-mobile.page-escala-staff .page-header,
body.layout-mobile.page-mobile-escala .sidebar,
body.layout-mobile.page-mobile-escala .page-header {
    display: none;
}

body.layout-mobile.page-escala-staff .main-content,
body.layout-mobile.page-mobile-escala .main-content {
    margin-left: 0;
    padding: 16px 14px 120px;
}

body.layout-mobile.page-escala-staff .scale-context-card,
body.layout-mobile.page-mobile-escala .scale-context-card {
    margin-bottom: 14px;
    padding: 18px 16px;
}

body.layout-mobile.page-escala-staff .scale-context-grid,
body.layout-mobile.page-mobile-escala .scale-context-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

body.layout-mobile.page-escala-staff .scale-context-copy,
body.layout-mobile.page-mobile-escala .scale-context-copy {
    grid-column: 1 / -1;
    padding: 14px 15px;
}

body.layout-mobile.page-escala-staff .scale-context-summary,
body.layout-mobile.page-mobile-escala .scale-context-summary {
    grid-column: 1 / -1;
}

body.layout-mobile.page-escala-staff .scale-context-copy h2,
body.layout-mobile.page-mobile-escala .scale-context-copy h2 {
    font-size: 22px;
}

body.layout-mobile.page-escala-staff .scale-context-chip,
body.layout-mobile.page-mobile-escala .scale-context-chip {
    padding: 12px 14px;
}

body.layout-mobile.page-escala-staff .scale-action-bar,
body.layout-mobile.page-mobile-escala .scale-action-bar {
    flex-direction: column;
}

body.layout-mobile.page-escala-staff .editor-import-strip {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-escala-staff .editor-import-actions {
    justify-content: stretch;
}

body.layout-mobile.page-escala-staff .editor-import-actions .btn-escala {
    width: 100%;
}

body.layout-mobile.page-escala-staff .scale-action-bar .btn-escala,
body.layout-mobile.page-mobile-escala .scale-action-bar .btn-escala {
    width: 100%;
    min-height: 48px;
}

body.layout-mobile.page-escala-staff .mobile-scale-shell,
body.layout-mobile.page-mobile-escala .mobile-scale-shell,
body.layout-mobile.page-mobile-escala .mobile-scale-shell {
    border-radius: 22px;
    border: 1px solid rgba(212, 175, 55, 0.24);
    background: linear-gradient(180deg, rgba(14, 18, 28, 0.96), rgba(10, 14, 21, 0.98));
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.34);
}

body.layout-mobile.page-escala-staff .mobile-scale-shell,
body.layout-mobile.page-mobile-escala .mobile-scale-shell {
    padding: 18px 16px;
    margin-bottom: 14px;
}

body.layout-mobile.page-escala-staff .mobile-scale-tabs,
body.layout-mobile.page-mobile-escala .mobile-scale-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 14px 0 18px;
}

body.layout-mobile.page-escala-staff .mobile-scale-tab,
body.layout-mobile.page-mobile-escala .mobile-scale-tab {
    min-height: 48px;
    border-radius: 16px;
    border: 1px solid rgba(212, 175, 55, 0.18);
    background: rgba(255, 255, 255, 0.05);
    color: #f8e8b0;
    font-weight: 700;
}

body.layout-mobile.page-escala-staff .mobile-scale-tab.is-active,
body.layout-mobile.page-mobile-escala .mobile-scale-tab.is-active {
    background: linear-gradient(135deg, rgba(202, 167, 77, 0.22), rgba(242, 210, 122, 0.1));
    border-color: rgba(242, 210, 122, 0.34);
}

body.layout-mobile.page-escala-staff .mobile-scale-panel,
body.layout-mobile.page-mobile-escala .mobile-scale-panel {
    display: none;
}

body.layout-mobile.page-escala-staff .mobile-scale-panel.is-active,
body.layout-mobile.page-mobile-escala .mobile-scale-panel.is-active {
    display: block;
}

body.layout-mobile.page-escala-staff .mobile-scale-select-wrap,
body.layout-mobile.page-mobile-escala .mobile-scale-select-wrap {
    display: grid;
    gap: 8px;
    margin-bottom: 16px;
}

body.layout-mobile.page-escala-staff .mobile-scale-select-wrap label,
body.layout-mobile.page-mobile-escala .mobile-scale-select-wrap label {
    color: #f3df9a;
    font-size: 14px;
}

body.layout-mobile.page-escala-staff .mobile-scale-person-panel,
body.layout-mobile.page-mobile-escala .mobile-scale-person-panel {
    display: none;
}

body.layout-mobile.page-escala-staff .mobile-scale-person-panel.is-active,
body.layout-mobile.page-mobile-escala .mobile-scale-person-panel.is-active {
    display: block;
}

body.layout-mobile.page-escala-staff .mobile-scale-day-list,
body.layout-mobile.page-mobile-escala .mobile-scale-day-list {
    display: grid;
    gap: 10px;
}

body.layout-mobile.page-escala-staff .mobile-scale-day-row,
body.layout-mobile.page-mobile-escala .mobile-scale-day-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    padding: 0 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(212, 175, 55, 0.14);
    color: #f3df9a;
}

body.layout-mobile.page-escala-staff .mobile-scale-day-row strong,
body.layout-mobile.page-mobile-escala .mobile-scale-day-row strong {
    color: #fff1c2;
}

body.layout-mobile.page-escala-staff .scale-compact-scroll,
body.layout-mobile.page-mobile-escala .scale-compact-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.layout-mobile.page-escala-staff .scale-compact-table,
body.layout-mobile.page-mobile-escala .scale-compact-table {
    width: max-content;
    min-width: 0;
}

body.layout-mobile.page-ferias .sidebar,
body.layout-mobile.page-ferias .page-header,
body.layout-mobile.page-turnos .sidebar,
body.layout-mobile.page-regras .sidebar,
body.layout-mobile.page-regras .page-header,
body.layout-mobile.page-baixas .sidebar,
body.layout-mobile.page-baixas .page-header,
body.layout-mobile.page-staff .sidebar,
body.layout-mobile.page-staff .page-header,
body.layout-mobile.page-historico .sidebar,
body.layout-mobile.page-historico .page-header,
body.layout-mobile.page-exportar .sidebar,
body.layout-mobile.page-exportar .page-header,
body.layout-mobile.page-utilizadores .sidebar,
body.layout-mobile.page-utilizadores .page-header {
    display: none;
}

body.layout-mobile.page-ferias .main-content,
body.layout-mobile.page-turnos .main-content,
body.layout-mobile.page-regras .main-content,
body.layout-mobile.page-baixas .main-content,
body.layout-mobile.page-staff .main-content,
body.layout-mobile.page-historico .main-content,
body.layout-mobile.page-exportar .main-content,
body.layout-mobile.page-utilizadores .main-content {
    margin-left: 0;
    padding: 16px 14px 120px;
}

body.layout-mobile.page-ferias .mobile-simple-shell,
body.layout-mobile.page-turnos .panel-card,
body.layout-mobile.page-regras .panel-card,
body.layout-mobile.page-baixas .mobile-simple-shell,
body.layout-mobile.page-staff .mobile-simple-shell,
body.layout-mobile.page-historico .panel-card,
body.layout-mobile.page-exportar .panel-card,
body.layout-mobile.page-utilizadores .panel-card {
    border-radius: 22px;
    border: 1px solid rgba(212, 175, 55, 0.24);
    background: linear-gradient(180deg, rgba(14, 18, 28, 0.96), rgba(10, 14, 21, 0.98));
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.34);
}

body.layout-mobile .mobile-records-list {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.mobile-inline-actions {
    display: none;
}

body.layout-mobile .mobile-record-card {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(212, 175, 55, 0.14);
}

body.layout-mobile.page-historico .mobile-record-card {
    gap: 10px;
}

body.layout-mobile.page-historico .mobile-record-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

body.layout-mobile .mobile-record-title {
    margin-bottom: 8px;
    font-size: 18px;
    font-weight: 700;
    color: #fff1c2;
}

body.layout-mobile.page-historico .mobile-record-title {
    margin-bottom: 0;
    flex: 1;
}

body.layout-mobile .mobile-record-meta {
    color: rgba(255, 241, 194, 0.78);
    line-height: 1.5;
    margin-bottom: 4px;
}

body.layout-mobile.page-historico .mobile-record-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

body.layout-mobile.page-historico .history-summary-text {
    margin-left: 0;
}

body.layout-mobile.page-historico .history-action-badge {
    white-space: nowrap;
}

body.layout-mobile .mobile-record-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
}

body.layout-mobile.page-ferias .records-table-wrap,
body.layout-mobile.page-regras .records-table-wrap,
body.layout-mobile.page-baixas .records-table-wrap,
body.layout-mobile.page-turnos .records-table-wrap,
body.layout-mobile.page-staff .staff-records-full .records-table-wrap,
body.layout-mobile.page-historico .records-table-wrap,
body.layout-mobile.page-exportar .editor-grid-wrapper,
body.layout-mobile.page-utilizadores .records-table-wrap {
    display: none;
}

body.layout-mobile.page-ferias .management-grid,
body.layout-mobile.page-regras .management-grid,
body.layout-mobile.page-baixas .management-grid,
body.layout-mobile.page-turnos .management-grid,
body.layout-mobile.page-staff .management-grid,
body.layout-mobile.page-utilizadores .management-grid {
    grid-template-columns: 1fr !important;
}

body.layout-mobile.page-regras .regras-layout {
    grid-template-columns: 1fr !important;
}

body.layout-mobile.page-turnos .management-grid {
    gap: 16px;
}

body.layout-mobile.page-turnos .department-module-header,
body.layout-mobile.page-regras .department-module-header {
    padding: 14px;
}

body.layout-mobile.page-turnos .department-module-context,
body.layout-mobile.page-regras .department-module-context {
    gap: 6px;
}

body.layout-mobile.page-turnos .records-table-wrap {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.layout-mobile.page-turnos .records-table {
    min-width: 720px;
}

body.layout-mobile.page-turnos .records-table td {
    white-space: nowrap;
}

body.layout-mobile.page-turnos .page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

body.layout-mobile.page-turnos .page-header .btn-escala,
body.layout-mobile.page-turnos .editor-actions .btn-escala {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

body.layout-mobile.page-regras .regras-page-intro {
    flex-direction: column;
    align-items: stretch;
}

body.layout-mobile.page-regras .regras-page-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

body.layout-mobile.page-regras .regras-page-actions .btn-escala,
body.layout-mobile.page-regras .regras-page-actions form {
    width: 100%;
}

body.layout-mobile.page-regras .regras-page-actions .btn-escala {
    min-height: 48px;
}

body.layout-mobile.page-regras .regras-block-card,
body.layout-mobile.page-regras .regras-subblock-card {
    padding: 14px;
}

body.layout-mobile.page-regras .field-row {
    grid-template-columns: 1fr !important;
}

body.layout-mobile.page-regras .checkbox-grid {
    flex-direction: column;
}

body.layout-mobile.page-regras .checkbox-chip {
    width: 100%;
    box-sizing: border-box;
}

body.layout-mobile.page-regras .regras-editor-actions .btn-escala {
    width: 100%;
    min-width: 0;
}

body.layout-mobile.page-regras .history-filter-grid {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-historico .history-filter-grid {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-regras .history-filter-wide {
    grid-column: auto;
}

body.layout-mobile.page-historico .history-filter-wide {
    grid-column: auto;
}

body.layout-mobile.page-regras .history-filter-actions {
    justify-content: stretch;
}

body.layout-mobile.page-historico .history-filter-actions {
    justify-content: stretch;
}

body.layout-mobile.page-regras .history-filter-actions .btn-escala {
    width: 100%;
}

body.layout-mobile.page-historico .history-filter-actions .btn-escala {
    width: 100%;
}

body.layout-mobile.page-regras .month-status-legend {
    gap: 6px;
}

body.layout-mobile.page-staff .staff-records-full .mobile-records-list,
body.layout-mobile.page-utilizadores .staff-records-full .mobile-records-list,
body.layout-mobile.page-historico .mobile-records-list,
body.layout-mobile.page-exportar .mobile-records-list {
    display: grid;
}

body.layout-mobile.page-ferias .mobile-page-intro,
body.layout-mobile.page-baixas .mobile-page-intro,
body.layout-mobile.page-staff .mobile-page-intro,
body.layout-mobile.page-historico .mobile-page-intro,
body.layout-mobile.page-exportar .mobile-page-intro,
body.layout-mobile.page-utilizadores .mobile-page-intro {
    border-radius: 22px;
    border: 1px solid rgba(212, 175, 55, 0.24);
    background: linear-gradient(180deg, rgba(14, 18, 28, 0.96), rgba(10, 14, 21, 0.98));
    box-shadow: 0 22px 44px rgba(0, 0, 0, 0.34);
    margin-bottom: 14px;
}

body.layout-mobile.page-historico .history-top-row {
    grid-template-columns: 1fr;
}

body.layout-mobile.page-historico .history-top-title {
    font-size: 24px;
}

body.layout-mobile.page-historico .history-top-context {
    padding: 14px 16px;
}

body.layout-mobile.page-historico .history-top-chips,
body.layout-mobile.page-historico .history-header-chips {
    gap: 6px;
}

body.layout-mobile.page-historico .history-top-chip {
    width: auto;
}

body.layout-mobile.page-ferias .mobile-inline-actions,
body.layout-mobile.page-baixas .mobile-inline-actions,
body.layout-mobile.page-escala-staff .mobile-inline-actions,
body.layout-mobile.page-mobile-escala .mobile-inline-actions,
body.layout-mobile.page-regras .mobile-inline-actions,
body.layout-mobile.page-staff .mobile-inline-actions,
body.layout-mobile.page-historico .mobile-inline-actions,
body.layout-mobile.page-exportar .mobile-inline-actions,
body.layout-mobile.page-utilizadores .mobile-inline-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

body.layout-mobile.page-ferias .mobile-inline-actions .btn-escala,
body.layout-mobile.page-baixas .mobile-inline-actions .btn-escala,
body.layout-mobile.page-escala-staff .mobile-inline-actions .btn-escala,
body.layout-mobile.page-mobile-escala .mobile-inline-actions .btn-escala,
body.layout-mobile.page-regras .mobile-inline-actions .btn-escala,
body.layout-mobile.page-staff .mobile-inline-actions .btn-escala,
body.layout-mobile.page-historico .mobile-inline-actions .btn-escala,
body.layout-mobile.page-exportar .mobile-inline-actions .btn-escala,
body.layout-mobile.page-utilizadores .mobile-inline-actions .btn-escala {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    text-align: center;
    padding: 0 10px;
    border-radius: 16px;
}

body.layout-mobile.page-ferias .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-baixas .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-escala-staff .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-mobile-escala .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-regras .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-staff .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-historico .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-exportar .mobile-inline-actions .btn-escala-secondary,
body.layout-mobile.page-utilizadores .mobile-inline-actions .btn-escala-secondary {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.18);
    color: #f8e8b0;
}

body.layout-mobile.page-staff .mobile-inline-actions .btn-escala.is-active,
body.layout-mobile.page-exportar .mobile-inline-actions .btn-escala.is-active {
    background: linear-gradient(135deg, #caa74d, #f2d27a);
    color: #101319;
    border: none;
}

body.layout-mobile.page-staff .mobile-staff-panel,
body.layout-mobile.page-exportar .mobile-export-panel {
    display: none;
}

body.layout-mobile.page-staff .mobile-staff-panel.is-active,
body.layout-mobile.page-exportar .mobile-export-panel.is-active {
    display: block;
}

body.layout-mobile.page-staff .staff-layout > .form-panel,
body.layout-mobile.page-staff .staff-layout > .staff-records-full {
    display: none;
}

body.layout-mobile.page-exportar .mobile-export-panel .editor-grid-wrapper {
    display: block;
}

body.layout-mobile .mobile-home-header {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-bottom: 18px;
}

body.layout-mobile .mobile-home-kicker {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.4px;
    color: #d8c37e;
}

body.layout-mobile .mobile-home-title {
    margin: 4px 0;
    font-size: 28px;
    line-height: 1.1;
    color: #fff1c2;
}

body.layout-mobile .mobile-home-subtitle {
    margin: 0;
    color: rgba(255, 241, 194, 0.72);
}

body.layout-mobile .mobile-home-date {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(212, 175, 55, 0.16);
}

body.layout-mobile .mobile-home-date strong {
    font-size: 18px;
    color: #f9e7aa;
}

body.layout-mobile .mobile-home-date span {
    color: rgba(249, 231, 170, 0.74);
}

body.layout-mobile .mobile-home-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 18px;
}

body.layout-mobile .mobile-turno-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 18px;
}

body.layout-mobile .mobile-turno-chip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.14);
    color: #f6e7b2;
}

body.layout-mobile .mobile-turno-list {
    display: grid;
    gap: 12px;
}

body.layout-mobile .mobile-turno-card {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(212, 175, 55, 0.14);
}

body.layout-mobile .mobile-turno-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    color: #fff1c2;
}

body.layout-mobile .mobile-turno-card-head span {
    color: rgba(255, 241, 194, 0.72);
    font-size: 13px;
}

body.layout-mobile .mobile-turno-card-body {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.layout-mobile .mobile-person-chip {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: rgba(202, 167, 77, 0.15);
    border: 1px solid rgba(212, 175, 55, 0.24);
    color: #f3df9a;
    font-size: 13px;
}

body.layout-mobile .mobile-day-view {
    display: none;
}

body.layout-mobile .mobile-day-view.is-active {
    display: block;
}

body.layout-mobile .mobile-menu-section {
    margin-top: 20px;
}

body.layout-mobile .mobile-menu-section h4 {
    margin: 0 0 10px;
    color: #f3df9a;
    font-size: 15px;
}

body.layout-mobile .mobile-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

body.layout-mobile .mobile-menu-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 10px 12px;
    border-radius: 16px;
    text-align: center;
    text-decoration: none;
    color: #f8e8b0;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(212, 175, 55, 0.16);
}

body.layout-mobile .mobile-menu-card.active {
    background: linear-gradient(135deg, rgba(202, 167, 77, 0.22), rgba(242, 210, 122, 0.1));
    border-color: rgba(242, 210, 122, 0.34);
}

body.layout-mobile .desktop-months-panel {
    display: none;
}

body.layout-mobile .dashboard-staff-cards {
    display: none;
}

body.layout-tablet.orientation-portrait .dashboard-software,
body.layout-mobile.orientation-portrait .dashboard-software {
    flex-direction: column;
}

body.layout-tablet.orientation-portrait .sidebar,
body.layout-mobile.orientation-portrait .sidebar {
    width: auto;
    min-width: 0;
    position: static;
    top: auto;
}

body.layout-tablet.orientation-portrait .main-content,
body.layout-mobile.orientation-portrait .main-content {
    padding-bottom: 110px;
}

body.layout-tablet.orientation-portrait .page-header,
body.layout-mobile.orientation-portrait .page-header {
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
}

body.layout-tablet.orientation-portrait .records-table-wrap,
body.layout-mobile.orientation-portrait .records-table-wrap,
body.layout-tablet.orientation-portrait .editor-grid-wrapper,
body.layout-mobile.orientation-portrait .editor-grid-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

body.layout-tablet.orientation-portrait .management-grid,
body.layout-mobile.orientation-portrait .management-grid,
body.layout-tablet.orientation-portrait .cards,
body.layout-mobile.orientation-portrait .cards,
body.layout-tablet.orientation-portrait .field-row,
body.layout-mobile.orientation-portrait .field-row,
body.layout-tablet.orientation-portrait .editor-actions,
body.layout-mobile.orientation-portrait .editor-actions,
body.layout-tablet.orientation-portrait .credenciais-grid,
body.layout-mobile.orientation-portrait .credenciais-grid,
body.layout-tablet.orientation-portrait .assistant-grid,
body.layout-mobile.orientation-portrait .assistant-grid {
    grid-template-columns: 1fr !important;
}

body.layout-tablet.orientation-portrait .editor-actions,
body.layout-mobile.orientation-portrait .editor-actions {
    display: flex;
    flex-direction: column;
}

body.layout-mobile.orientation-portrait .login-overlay,
body.layout-tablet.orientation-portrait .login-overlay {
    align-items: flex-start;
    padding: 20px 14px 110px;
    min-height: 100vh;
    box-sizing: border-box;
}

body.layout-mobile.orientation-portrait .login-box,
body.layout-tablet.orientation-portrait .login-box,
body.layout-mobile.orientation-portrait .portal-shell,
body.layout-tablet.orientation-portrait .portal-shell,
body.layout-mobile.orientation-portrait .portal-home-shell,
body.layout-tablet.orientation-portrait .portal-home-shell {
    width: min(100%, 560px);
}

body.layout-mobile.orientation-portrait .records-table,
body.layout-mobile.orientation-portrait .meses-table,
body.layout-mobile.orientation-portrait .tabela-escala {
    min-width: 720px;
}

body.layout-tablet.orientation-landscape .dashboard-software {
    display: grid;
    grid-template-columns: minmax(240px, 300px) 1fr;
}

body.layout-tablet.orientation-landscape .sidebar {
    width: auto;
    min-width: 240px;
}

body.layout-mobile .menu-item,
body.layout-mobile .btn-escala,
body.layout-mobile .btn-acao,
body.layout-mobile .panel-input,
body.layout-mobile .input-box input,
body.layout-mobile textarea,
body.layout-mobile select,
body.layout-tablet .menu-item,
body.layout-tablet .btn-escala,
body.layout-tablet .btn-acao,
body.layout-tablet .panel-input,
body.layout-tablet .input-box input,
body.layout-tablet textarea,
body.layout-tablet select {
    font-size: 16px;
}

body.layout-mobile .btn-escala,
body.layout-mobile .login-btn,
body.layout-mobile .btn-acao,
body.layout-tablet .btn-escala,
body.layout-tablet .login-btn,
body.layout-tablet .btn-acao {
    min-height: 46px;
}

@media (max-width: 760px) {
    .layout-selector-shell {
        top: calc(env(safe-area-inset-top, 0px) + 10px);
        right: 12px;
        left: auto;
        align-items: flex-end;
    }

    .layout-selector-toggle {
        width: 48px;
        min-width: 48px;
        height: 48px;
        padding: 0;
    }

    .layout-selector-panel {
        width: 220px;
    }

    .layout-selector-prompt {
        left: 12px;
        right: 12px;
        top: calc(env(safe-area-inset-top, 0px) + 72px);
    }
}
body:not(.layout-mobile) .mobile-page-intro,
body:not(.layout-mobile) .mobile-inline-actions,
body:not(.layout-mobile) .mobile-simple-shell,
body:not(.layout-mobile) .mobile-scale-shell,
body:not(.layout-mobile) .mobile-export-shell,
body:not(.layout-mobile) .mobile-records-list,
body:not(.layout-mobile) .mobile-record-card,
body:not(.layout-mobile) .mobile-hoje-shell,
body:not(.layout-mobile) .mobile-hoje-panel-switch,
body:not(.layout-mobile) .mobile-hoje-panel {
    display: none !important;
}

body.page-mobile-staff .mobile-staff-panel,
body.page-mobile-escala .mobile-scale-panel,
body.page-mobile-escala .mobile-day-view,
body.page-mobile-escala .mobile-scale-person-panel,
body.page-mobile-exportar .mobile-export-panel,
body.page-mobile-turnos .mobile-turnos-panel {
    display: none;
}

body.page-mobile-staff .mobile-staff-panel.is-active,
body.page-mobile-escala .mobile-scale-panel.is-active,
body.page-mobile-escala .mobile-day-view.is-active,
body.page-mobile-escala .mobile-scale-person-panel.is-active,
body.page-mobile-exportar .mobile-export-panel.is-active,
body.page-mobile-turnos .mobile-turnos-panel.is-active {
    display: block;
}
