@@ -1358,3 +1358,103 @@ ul.rz-profile-menu > li > ul.rz-navigation-menu {
13581358 }
13591359}
13601360
1361+ /* =============================================================================
1362+ Page Header - Responsive title + buttons layout
1363+ ============================================================================= */
1364+
1365+ .page-header {
1366+ display : flex;
1367+ flex-wrap : wrap;
1368+ justify-content : space-between;
1369+ align-items : center;
1370+ gap : var (--lrm-space-3 );
1371+ margin-bottom : var (--lrm-space-4 );
1372+ }
1373+
1374+ .page-header h1 ,
1375+ .page-header h2 ,
1376+ .page-header h3 ,
1377+ .page-header h4 ,
1378+ .page-header .rz-text-h4 ,
1379+ .page-header .rz-text-h5 ,
1380+ .page-header .rz-text-h6 {
1381+ margin : 0 ;
1382+ flex : 1 1 auto;
1383+ min-width : 150px ;
1384+ }
1385+
1386+ .page-header-actions {
1387+ display : flex;
1388+ flex-wrap : wrap;
1389+ gap : var (--lrm-space-2 );
1390+ align-items : center;
1391+ }
1392+
1393+ @media (max-width : 599px ) {
1394+ .page-header {
1395+ flex-direction : column;
1396+ align-items : stretch;
1397+ }
1398+
1399+ .page-header h1 ,
1400+ .page-header h2 ,
1401+ .page-header h3 ,
1402+ .page-header h4 ,
1403+ .page-header .rz-text-h4 ,
1404+ .page-header .rz-text-h5 {
1405+ min-width : 100% ;
1406+ text-align : left;
1407+ }
1408+
1409+ .page-header-actions {
1410+ width : 100% ;
1411+ justify-content : flex-start;
1412+ }
1413+
1414+ .page-header-actions .rz-button {
1415+ flex : 1 1 auto;
1416+ max-width : none;
1417+ }
1418+ }
1419+
1420+ /* Fix for RadzenStack horizontal containers to wrap on mobile */
1421+ @media (max-width : 599px ) {
1422+ /* Force all horizontal stacks with space-between to wrap */
1423+ .rz-stack .rz-orientation-horizontal .rz-justify-content-space-between {
1424+ flex-wrap : wrap !important ;
1425+ gap : 0.75rem !important ;
1426+ }
1427+
1428+ /* Headers take full width when wrapped */
1429+ .rz-stack .rz-orientation-horizontal .rz-justify-content-space-between > .rz-text-h4 ,
1430+ .rz-stack .rz-orientation-horizontal .rz-justify-content-space-between > .rz-text-h5 ,
1431+ .rz-stack .rz-orientation-horizontal .rz-justify-content-space-between > .rz-text-h6 {
1432+ flex : 1 1 100% ;
1433+ min-width : 100% ;
1434+ }
1435+
1436+ /* Nested horizontal stacks (button groups) also wrap */
1437+ .rz-stack .rz-orientation-horizontal .rz-justify-content-space-between > .rz-stack .rz-orientation-horizontal {
1438+ flex-wrap : wrap !important ;
1439+ width : 100% ;
1440+ }
1441+
1442+ /* Buttons in mobile header take more space */
1443+ .rz-stack .rz-orientation-horizontal .rz-justify-content-space-between .rz-button {
1444+ flex : 1 1 auto;
1445+ min-width : 100px ;
1446+ justify-content : center;
1447+ }
1448+
1449+ /* Search/filter rows should stack */
1450+ .rz-stack .rz-orientation-horizontal : has (.rz-textbox ): has (.rz-dropdown ) {
1451+ flex-wrap : wrap !important ;
1452+ }
1453+
1454+ .rz-stack .rz-orientation-horizontal : has (.rz-textbox ): has (.rz-dropdown ) > .rz-textbox ,
1455+ .rz-stack .rz-orientation-horizontal : has (.rz-textbox ): has (.rz-dropdown ) > .rz-dropdown {
1456+ flex : 1 1 100% ;
1457+ min-width : 100% !important ;
1458+ }
1459+ }
1460+
0 commit comments